4283f7:	53                   	push   %ebx
4283f8:	e8 26 fe ff ff       	call   0x428223
4283fd:	59                   	pop    %ecx
4283fe:	8b f7                	mov    %edi,%esi
428400:	ff 75 f8             	push   -0x8(%ebp)
428403:	e8 1b fe ff ff       	call   0x428223
428408:	59                   	pop    %ecx
428409:	8b c6                	mov    %esi,%eax
42840b:	8d 65 e8             	lea    -0x18(%ebp),%esp
42840e:	5f                   	pop    %edi
42840f:	5e                   	pop    %esi
428410:	5b                   	pop    %ebx
428411:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428414:	33 cd                	xor    %ebp,%ecx
428416:	e8 e7 75 01 00       	call   0x43fa02
42841b:	c9                   	leave
42841c:	c3                   	ret
42841d:	55                   	push   %ebp
42841e:	8b ec                	mov    %esp,%ebp
428420:	56                   	push   %esi
428421:	8b 75 14             	mov    0x14(%ebp),%esi
428424:	85 f6                	test   %esi,%esi
428426:	7e 0d                	jle    0x428435
428428:	56                   	push   %esi
428429:	ff 75 10             	push   0x10(%ebp)
42842c:	e8 7c 12 04 00       	call   0x4696ad
428431:	59                   	pop    %ecx
428432:	59                   	pop    %ecx
428433:	8b f0                	mov    %eax,%esi
428435:	8b 45 1c             	mov    0x1c(%ebp),%eax
428438:	85 c0                	test   %eax,%eax
42843a:	7e 0b                	jle    0x428447
42843c:	50                   	push   %eax
42843d:	ff 75 18             	push   0x18(%ebp)
428440:	e8 68 12 04 00       	call   0x4696ad
428445:	59                   	pop    %ecx
428446:	59                   	pop    %ecx
428447:	85 f6                	test   %esi,%esi
428449:	74 1c                	je     0x428467
42844b:	85 c0                	test   %eax,%eax
42844d:	74 18                	je     0x428467
42844f:	50                   	push   %eax
428450:	ff 75 18             	push   0x18(%ebp)
428453:	56                   	push   %esi
428454:	ff 75 10             	push   0x10(%ebp)
428457:	ff 75 0c             	push   0xc(%ebp)
42845a:	ff 75 08             	push   0x8(%ebp)
42845d:	e8 ea 4c 00 00       	call   0x42d14c
428462:	83 c4 18             	add    $0x18,%esp
428465:	eb 14                	jmp    0x42847b
428467:	2b f0                	sub    %eax,%esi
428469:	75 05                	jne    0x428470
42846b:	6a 02                	push   $0x2
42846d:	5e                   	pop    %esi
42846e:	eb 09                	jmp    0x428479
428470:	c1 fe 1f             	sar    $0x1f,%esi
428473:	83 e6 fe             	and    $0xfffffffe,%esi
428476:	83 c6 03             	add    $0x3,%esi
428479:	8b c6                	mov    %esi,%eax
42847b:	5e                   	pop    %esi
42847c:	5d                   	pop    %ebp
42847d:	c3                   	ret
42847e:	55                   	push   %ebp
42847f:	8b ec                	mov    %esp,%ebp
428481:	56                   	push   %esi
428482:	8b 75 14             	mov    0x14(%ebp),%esi
428485:	85 f6                	test   %esi,%esi
428487:	7e 14                	jle    0x42849d
428489:	56                   	push   %esi
42848a:	ff 75 10             	push   0x10(%ebp)
42848d:	e8 1b 12 04 00       	call   0x4696ad
428492:	59                   	pop    %ecx
428493:	3b c6                	cmp    %esi,%eax
428495:	59                   	pop    %ecx
428496:	8d 70 01             	lea    0x1(%eax),%esi
428499:	7c 02                	jl     0x42849d
42849b:	8b f0                	mov    %eax,%esi
42849d:	ff 75 1c             	push   0x1c(%ebp)
4284a0:	ff 75 18             	push   0x18(%ebp)
4284a3:	56                   	push   %esi
4284a4:	ff 75 10             	push   0x10(%ebp)
4284a7:	ff 75 0c             	push   0xc(%ebp)
4284aa:	ff 75 08             	push   0x8(%ebp)
4284ad:	e8 c0 4d 00 00       	call   0x42d272
4284b2:	83 c4 18             	add    $0x18,%esp
4284b5:	5e                   	pop    %esi
4284b6:	5d                   	pop    %ebp
4284b7:	c3                   	ret
4284b8:	55                   	push   %ebp
4284b9:	8b ec                	mov    %esp,%ebp
4284bb:	8b 45 0c             	mov    0xc(%ebp),%eax
4284be:	8b 00                	mov    (%eax),%eax
4284c0:	89 01                	mov    %eax,(%ecx)
4284c2:	8b c1                	mov    %ecx,%eax
4284c4:	5d                   	pop    %ebp
4284c5:	c2 08 00             	ret    $0x8
4284c8:	55                   	push   %ebp
4284c9:	8b ec                	mov    %esp,%ebp
4284cb:	8b 45 08             	mov    0x8(%ebp),%eax
4284ce:	89 01                	mov    %eax,(%ecx)
4284d0:	8b c1                	mov    %ecx,%eax
4284d2:	5d                   	pop    %ebp
4284d3:	c2 04 00             	ret    $0x4
4284d6:	55                   	push   %ebp
4284d7:	8b ec                	mov    %esp,%ebp
4284d9:	8b 45 08             	mov    0x8(%ebp),%eax
4284dc:	89 01                	mov    %eax,(%ecx)
4284de:	8b c1                	mov    %ecx,%eax
4284e0:	5d                   	pop    %ebp
4284e1:	c2 04 00             	ret    $0x4
4284e4:	8b c1                	mov    %ecx,%eax
4284e6:	c2 04 00             	ret    $0x4
4284e9:	55                   	push   %ebp
4284ea:	8b ec                	mov    %esp,%ebp
4284ec:	ff 75 0c             	push   0xc(%ebp)
4284ef:	8b 4d 08             	mov    0x8(%ebp),%ecx
4284f2:	e8 3e 3d 00 00       	call   0x42c235
4284f7:	5d                   	pop    %ebp
4284f8:	c3                   	ret
4284f9:	55                   	push   %ebp
4284fa:	8b ec                	mov    %esp,%ebp
4284fc:	ff 75 0c             	push   0xc(%ebp)
4284ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
428502:	e8 2e 3d 00 00       	call   0x42c235
428507:	f6 d8                	neg    %al
428509:	1a c0                	sbb    %al,%al
42850b:	fe c0                	inc    %al
42850d:	5d                   	pop    %ebp
42850e:	c3                   	ret
42850f:	c3                   	ret
428510:	c3                   	ret
428511:	55                   	push   %ebp
428512:	8b ec                	mov    %esp,%ebp
428514:	51                   	push   %ecx
428515:	56                   	push   %esi
428516:	8b 75 08             	mov    0x8(%ebp),%esi
428519:	8d 45 0c             	lea    0xc(%ebp),%eax
42851c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
428520:	ff 75 fc             	push   -0x4(%ebp)
428523:	50                   	push   %eax
428524:	8d 46 1a             	lea    0x1a(%esi),%eax
428527:	50                   	push   %eax
428528:	56                   	push   %esi
428529:	e8 52 00 00 00       	call   0x428580
42852e:	83 c4 10             	add    $0x10,%esp
428531:	2b c6                	sub    %esi,%eax
428533:	5e                   	pop    %esi
428534:	c9                   	leave
428535:	c3                   	ret
428536:	55                   	push   %ebp
428537:	8b ec                	mov    %esp,%ebp
428539:	51                   	push   %ecx
42853a:	56                   	push   %esi
42853b:	8b 75 08             	mov    0x8(%ebp),%esi
42853e:	8d 45 0c             	lea    0xc(%ebp),%eax
428541:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
428545:	ff 75 fc             	push   -0x4(%ebp)
428548:	50                   	push   %eax
428549:	8d 46 1c             	lea    0x1c(%esi),%eax
42854c:	50                   	push   %eax
42854d:	56                   	push   %esi
42854e:	e8 2d 00 00 00       	call   0x428580
428553:	83 c4 10             	add    $0x10,%esp
428556:	2b c6                	sub    %esi,%eax
428558:	5e                   	pop    %esi
428559:	c9                   	leave
42855a:	c3                   	ret
42855b:	55                   	push   %ebp
42855c:	8b ec                	mov    %esp,%ebp
42855e:	51                   	push   %ecx
42855f:	56                   	push   %esi
428560:	8b 75 08             	mov    0x8(%ebp),%esi
428563:	8d 45 0c             	lea    0xc(%ebp),%eax
428566:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42856a:	ff 75 fc             	push   -0x4(%ebp)
42856d:	50                   	push   %eax
42856e:	8d 46 0e             	lea    0xe(%esi),%eax
428571:	50                   	push   %eax
428572:	56                   	push   %esi
428573:	e8 08 00 00 00       	call   0x428580
428578:	83 c4 10             	add    $0x10,%esp
42857b:	2b c6                	sub    %esi,%eax
42857d:	5e                   	pop    %esi
42857e:	c9                   	leave
42857f:	c3                   	ret
428580:	55                   	push   %ebp
428581:	8b ec                	mov    %esp,%ebp
428583:	8b 45 0c             	mov    0xc(%ebp),%eax
428586:	2b 45 08             	sub    0x8(%ebp),%eax
428589:	50                   	push   %eax
42858a:	8b 45 10             	mov    0x10(%ebp),%eax
42858d:	0f b6 00             	movzbl (%eax),%eax
428590:	50                   	push   %eax
428591:	ff 75 08             	push   0x8(%ebp)
428594:	e8 97 8e 01 00       	call   0x441430
428599:	83 c4 0c             	add    $0xc,%esp
42859c:	85 c0                	test   %eax,%eax
42859e:	75 03                	jne    0x4285a3
4285a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4285a3:	5d                   	pop    %ebp
4285a4:	c3                   	ret
4285a5:	55                   	push   %ebp
4285a6:	8b ec                	mov    %esp,%ebp
4285a8:	51                   	push   %ecx
4285a9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4285ad:	ff 75 fc             	push   -0x4(%ebp)
4285b0:	ff 75 10             	push   0x10(%ebp)
4285b3:	ff 75 0c             	push   0xc(%ebp)
4285b6:	ff 75 08             	push   0x8(%ebp)
4285b9:	e8 c2 ff ff ff       	call   0x428580
4285be:	83 c4 10             	add    $0x10,%esp
4285c1:	c9                   	leave
4285c2:	c3                   	ret
4285c3:	6a 34                	push   $0x34
4285c5:	b8 7b 0d 49 00       	mov    $0x490d7b,%eax
4285ca:	e8 af 74 01 00       	call   0x43fa7e
4285cf:	8b 45 08             	mov    0x8(%ebp),%eax
4285d2:	8b 75 14             	mov    0x14(%ebp),%esi
4285d5:	8b 5d 10             	mov    0x10(%ebp),%ebx
4285d8:	89 45 d0             	mov    %eax,-0x30(%ebp)
4285db:	8b 45 0c             	mov    0xc(%ebp),%eax
4285de:	89 45 c0             	mov    %eax,-0x40(%ebp)
4285e1:	8a 06                	mov    (%esi),%al
4285e3:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4285e6:	84 c0                	test   %al,%al
4285e8:	74 13                	je     0x4285fd
4285ea:	8a c8                	mov    %al,%cl
4285ec:	8b d6                	mov    %esi,%edx
4285ee:	3a c8                	cmp    %al,%cl
4285f0:	75 01                	jne    0x4285f3
4285f2:	43                   	inc    %ebx
4285f3:	42                   	inc    %edx
4285f4:	8a 0a                	mov    (%edx),%cl
4285f6:	84 c9                	test   %cl,%cl
4285f8:	75 f4                	jne    0x4285ee
4285fa:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4285fd:	33 c0                	xor    %eax,%eax
4285ff:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
428606:	50                   	push   %eax
428607:	53                   	push   %ebx
428608:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42860b:	89 45 e8             	mov    %eax,-0x18(%ebp)
42860e:	88 45 d8             	mov    %al,-0x28(%ebp)
428611:	e8 28 71 ff ff       	call   0x41f73e
428616:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42861a:	33 d2                	xor    %edx,%edx
42861c:	42                   	inc    %edx
42861d:	c7 45 c4 fe ff ff ff 	movl   $0xfffffffe,-0x3c(%ebp)
428624:	89 55 cc             	mov    %edx,-0x34(%ebp)
428627:	32 e4                	xor    %ah,%ah
428629:	33 db                	xor    %ebx,%ebx
42862b:	33 ff                	xor    %edi,%edi
42862d:	88 65 d7             	mov    %ah,-0x29(%ebp)
428630:	39 5d c8             	cmp    %ebx,-0x38(%ebp)
428633:	0f 86 eb 00 00 00    	jbe    0x428724
428639:	8a 04 37             	mov    (%edi,%esi,1),%al
42863c:	84 c0                	test   %al,%al
42863e:	74 0e                	je     0x42864e
428640:	8a 0e                	mov    (%esi),%cl
428642:	3a c1                	cmp    %cl,%al
428644:	74 08                	je     0x42864e
428646:	47                   	inc    %edi
428647:	8a 04 37             	mov    (%edi,%esi,1),%al
42864a:	84 c0                	test   %al,%al
42864c:	75 f4                	jne    0x428642
42864e:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
428652:	8d 45 d8             	lea    -0x28(%ebp),%eax
428655:	72 03                	jb     0x42865a
428657:	8b 45 d8             	mov    -0x28(%ebp),%eax
42865a:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
42865e:	74 14                	je     0x428674
428660:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
428664:	8d 45 d8             	lea    -0x28(%ebp),%eax
428667:	72 03                	jb     0x42866c
428669:	8b 45 d8             	mov    -0x28(%ebp),%eax
42866c:	0f be 04 18          	movsbl (%eax,%ebx,1),%eax
428670:	03 f8                	add    %eax,%edi
428672:	eb 79                	jmp    0x4286ed
428674:	03 fa                	add    %edx,%edi
428676:	8a 04 37             	mov    (%edi,%esi,1),%al
428679:	3a 06                	cmp    (%esi),%al
42867b:	74 52                	je     0x4286cf
42867d:	84 c0                	test   %al,%al
42867f:	74 4e                	je     0x4286cf
428681:	ff 75 c0             	push   -0x40(%ebp)
428684:	8b 4d d0             	mov    -0x30(%ebp),%ecx
428687:	e8 a9 3b 00 00       	call   0x42c235
42868c:	84 c0                	test   %al,%al
42868e:	75 22                	jne    0x4286b2
428690:	8b 4d d0             	mov    -0x30(%ebp),%ecx
428693:	38 41 04             	cmp    %al,0x4(%ecx)
428696:	75 08                	jne    0x4286a0
428698:	e8 dd 2a 00 00       	call   0x42b17a
42869d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4286a0:	8a 04 37             	mov    (%edi,%esi,1),%al
4286a3:	3a 41 05             	cmp    0x5(%ecx),%al
4286a6:	75 0a                	jne    0x4286b2
4286a8:	8b 55 cc             	mov    -0x34(%ebp),%edx
4286ab:	b4 01                	mov    $0x1,%ah
4286ad:	88 65 d7             	mov    %ah,-0x29(%ebp)
4286b0:	eb 41                	jmp    0x4286f3
4286b2:	8b 55 cc             	mov    -0x34(%ebp),%edx
4286b5:	83 fa 7f             	cmp    $0x7f,%edx
4286b8:	73 04                	jae    0x4286be
4286ba:	8b ca                	mov    %edx,%ecx
4286bc:	eb 03                	jmp    0x4286c1
4286be:	6a 7f                	push   $0x7f
4286c0:	59                   	pop    %ecx
4286c1:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4286c5:	8d 45 d8             	lea    -0x28(%ebp),%eax
4286c8:	72 20                	jb     0x4286ea
4286ca:	8b 45 d8             	mov    -0x28(%ebp),%eax
4286cd:	eb 1b                	jmp    0x4286ea
4286cf:	83 fa 7f             	cmp    $0x7f,%edx
4286d2:	73 04                	jae    0x4286d8
4286d4:	8b ca                	mov    %edx,%ecx
4286d6:	eb 03                	jmp    0x4286db
4286d8:	6a 7f                	push   $0x7f
4286da:	59                   	pop    %ecx
4286db:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4286df:	8d 45 d8             	lea    -0x28(%ebp),%eax
4286e2:	72 03                	jb     0x4286e7
4286e4:	8b 45 d8             	mov    -0x28(%ebp),%eax
4286e7:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
4286ea:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
4286ed:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4286f0:	8a 65 d7             	mov    -0x29(%ebp),%ah
4286f3:	43                   	inc    %ebx
4286f4:	3b 5d c8             	cmp    -0x38(%ebp),%ebx
4286f7:	0f 82 3c ff ff ff    	jb     0x428639
4286fd:	84 e4                	test   %ah,%ah
4286ff:	74 23                	je     0x428724
428701:	ff 75 c0             	push   -0x40(%ebp)
428704:	e8 2c 3b 00 00       	call   0x42c235
428709:	84 c0                	test   %al,%al
42870b:	75 17                	jne    0x428724
42870d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
428710:	ff 45 cc             	incl   -0x34(%ebp)
428713:	e8 3d 22 00 00       	call   0x42a955
428718:	83 4d c4 ff          	orl    $0xffffffff,-0x3c(%ebp)
42871c:	8b 55 cc             	mov    -0x34(%ebp),%edx
42871f:	e9 03 ff ff ff       	jmp    0x428627
428724:	8d 4d d8             	lea    -0x28(%ebp),%ecx
428727:	e8 a8 4b ff ff       	call   0x41d2d4
42872c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42872f:	e8 f4 72 01 00       	call   0x43fa28
428734:	c3                   	ret
428735:	55                   	push   %ebp
428736:	8b ec                	mov    %esp,%ebp
428738:	8b 55 0c             	mov    0xc(%ebp),%edx