47839f:	8b 55 08             	mov    0x8(%ebp),%edx
4783a2:	52                   	push   %edx
4783a3:	e8 73 99 f8 ff       	call   0x401d1b
4783a8:	83 c4 10             	add    $0x10,%esp
4783ab:	5d                   	pop    %ebp
4783ac:	c3                   	ret
4783ad:	cc                   	int3
4783ae:	cc                   	int3
4783af:	cc                   	int3
4783b0:	cc                   	int3
4783b1:	cc                   	int3
4783b2:	cc                   	int3
4783b3:	cc                   	int3
4783b4:	cc                   	int3
4783b5:	cc                   	int3
4783b6:	cc                   	int3
4783b7:	cc                   	int3
4783b8:	cc                   	int3
4783b9:	cc                   	int3
4783ba:	cc                   	int3
4783bb:	cc                   	int3
4783bc:	cc                   	int3
4783bd:	cc                   	int3
4783be:	cc                   	int3
4783bf:	cc                   	int3
4783c0:	8b ff                	mov    %edi,%edi
4783c2:	55                   	push   %ebp
4783c3:	8b ec                	mov    %esp,%ebp
4783c5:	6a 00                	push   $0x0
4783c7:	8b 45 10             	mov    0x10(%ebp),%eax
4783ca:	50                   	push   %eax
4783cb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4783ce:	51                   	push   %ecx
4783cf:	8b 55 08             	mov    0x8(%ebp),%edx
4783d2:	52                   	push   %edx
4783d3:	e8 43 99 f8 ff       	call   0x401d1b
4783d8:	83 c4 10             	add    $0x10,%esp
4783db:	5d                   	pop    %ebp
4783dc:	c3                   	ret
4783dd:	cc                   	int3
4783de:	cc                   	int3
4783df:	cc                   	int3
4783e0:	cc                   	int3
4783e1:	cc                   	int3
4783e2:	cc                   	int3
4783e3:	cc                   	int3
4783e4:	cc                   	int3
4783e5:	cc                   	int3
4783e6:	cc                   	int3
4783e7:	cc                   	int3
4783e8:	cc                   	int3
4783e9:	cc                   	int3
4783ea:	cc                   	int3
4783eb:	cc                   	int3
4783ec:	cc                   	int3
4783ed:	cc                   	int3
4783ee:	cc                   	int3
4783ef:	cc                   	int3
4783f0:	8b ff                	mov    %edi,%edi
4783f2:	55                   	push   %ebp
4783f3:	8b ec                	mov    %esp,%ebp
4783f5:	6a 00                	push   $0x0
4783f7:	8b 45 10             	mov    0x10(%ebp),%eax
4783fa:	50                   	push   %eax
4783fb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4783fe:	51                   	push   %ecx
4783ff:	8b 55 08             	mov    0x8(%ebp),%edx
478402:	52                   	push   %edx
478403:	e8 66 91 f8 ff       	call   0x40156e
478408:	83 c4 10             	add    $0x10,%esp
47840b:	5d                   	pop    %ebp
47840c:	c3                   	ret
47840d:	cc                   	int3
47840e:	cc                   	int3
47840f:	cc                   	int3
478410:	cc                   	int3
478411:	cc                   	int3
478412:	cc                   	int3
478413:	cc                   	int3
478414:	cc                   	int3
478415:	cc                   	int3
478416:	cc                   	int3
478417:	cc                   	int3
478418:	cc                   	int3
478419:	cc                   	int3
47841a:	cc                   	int3
47841b:	cc                   	int3
47841c:	cc                   	int3
47841d:	cc                   	int3
47841e:	cc                   	int3
47841f:	cc                   	int3
478420:	8b ff                	mov    %edi,%edi
478422:	55                   	push   %ebp
478423:	8b ec                	mov    %esp,%ebp
478425:	6a 00                	push   $0x0
478427:	8b 45 10             	mov    0x10(%ebp),%eax
47842a:	50                   	push   %eax
47842b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47842e:	51                   	push   %ecx
47842f:	8b 55 08             	mov    0x8(%ebp),%edx
478432:	52                   	push   %edx
478433:	e8 f7 9d f8 ff       	call   0x40222f
478438:	83 c4 10             	add    $0x10,%esp
47843b:	5d                   	pop    %ebp
47843c:	c3                   	ret
47843d:	cc                   	int3
47843e:	cc                   	int3
47843f:	cc                   	int3
478440:	cc                   	int3
478441:	cc                   	int3
478442:	cc                   	int3
478443:	cc                   	int3
478444:	cc                   	int3
478445:	cc                   	int3
478446:	cc                   	int3
478447:	cc                   	int3
478448:	cc                   	int3
478449:	cc                   	int3
47844a:	cc                   	int3
47844b:	cc                   	int3
47844c:	cc                   	int3
47844d:	cc                   	int3
47844e:	cc                   	int3
47844f:	cc                   	int3
478450:	8b ff                	mov    %edi,%edi
478452:	55                   	push   %ebp
478453:	8b ec                	mov    %esp,%ebp
478455:	6a 00                	push   $0x0
478457:	8b 45 10             	mov    0x10(%ebp),%eax
47845a:	50                   	push   %eax
47845b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47845e:	51                   	push   %ecx
47845f:	8b 55 08             	mov    0x8(%ebp),%edx
478462:	52                   	push   %edx
478463:	e8 06 91 f8 ff       	call   0x40156e
478468:	83 c4 10             	add    $0x10,%esp
47846b:	5d                   	pop    %ebp
47846c:	c3                   	ret
47846d:	cc                   	int3
47846e:	cc                   	int3
47846f:	cc                   	int3
478470:	cc                   	int3
478471:	cc                   	int3
478472:	cc                   	int3
478473:	cc                   	int3
478474:	cc                   	int3
478475:	cc                   	int3
478476:	cc                   	int3
478477:	cc                   	int3
478478:	cc                   	int3
478479:	cc                   	int3
47847a:	cc                   	int3
47847b:	cc                   	int3
47847c:	cc                   	int3
47847d:	cc                   	int3
47847e:	cc                   	int3
47847f:	cc                   	int3
478480:	8b ff                	mov    %edi,%edi
478482:	55                   	push   %ebp
478483:	8b ec                	mov    %esp,%ebp
478485:	6a 00                	push   $0x0
478487:	8b 45 10             	mov    0x10(%ebp),%eax
47848a:	50                   	push   %eax
47848b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47848e:	51                   	push   %ecx
47848f:	8b 55 08             	mov    0x8(%ebp),%edx
478492:	52                   	push   %edx
478493:	e8 3e 9c f8 ff       	call   0x4020d6
478498:	83 c4 10             	add    $0x10,%esp
47849b:	5d                   	pop    %ebp
47849c:	c3                   	ret
47849d:	cc                   	int3
47849e:	cc                   	int3
47849f:	cc                   	int3
4784a0:	cc                   	int3
4784a1:	cc                   	int3
4784a2:	cc                   	int3
4784a3:	cc                   	int3
4784a4:	cc                   	int3
4784a5:	cc                   	int3
4784a6:	cc                   	int3
4784a7:	cc                   	int3
4784a8:	cc                   	int3
4784a9:	cc                   	int3
4784aa:	cc                   	int3
4784ab:	cc                   	int3
4784ac:	cc                   	int3
4784ad:	cc                   	int3
4784ae:	cc                   	int3
4784af:	cc                   	int3
4784b0:	8b ff                	mov    %edi,%edi
4784b2:	55                   	push   %ebp
4784b3:	8b ec                	mov    %esp,%ebp
4784b5:	6a 00                	push   $0x0
4784b7:	8b 45 10             	mov    0x10(%ebp),%eax
4784ba:	50                   	push   %eax
4784bb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4784be:	51                   	push   %ecx
4784bf:	8b 55 08             	mov    0x8(%ebp),%edx
4784c2:	52                   	push   %edx
4784c3:	e8 c5 b2 f8 ff       	call   0x40378d
4784c8:	83 c4 10             	add    $0x10,%esp
4784cb:	5d                   	pop    %ebp
4784cc:	c3                   	ret
4784cd:	cc                   	int3
4784ce:	cc                   	int3
4784cf:	cc                   	int3
4784d0:	cc                   	int3
4784d1:	cc                   	int3
4784d2:	cc                   	int3
4784d3:	cc                   	int3
4784d4:	cc                   	int3
4784d5:	cc                   	int3
4784d6:	cc                   	int3
4784d7:	cc                   	int3
4784d8:	cc                   	int3
4784d9:	cc                   	int3
4784da:	cc                   	int3
4784db:	cc                   	int3
4784dc:	cc                   	int3
4784dd:	cc                   	int3
4784de:	cc                   	int3
4784df:	cc                   	int3
4784e0:	8b ff                	mov    %edi,%edi
4784e2:	55                   	push   %ebp
4784e3:	8b ec                	mov    %esp,%ebp
4784e5:	6a 00                	push   $0x0
4784e7:	8b 45 10             	mov    0x10(%ebp),%eax
4784ea:	50                   	push   %eax
4784eb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4784ee:	51                   	push   %ecx
4784ef:	8b 55 08             	mov    0x8(%ebp),%edx
4784f2:	52                   	push   %edx
4784f3:	e8 95 b2 f8 ff       	call   0x40378d
4784f8:	83 c4 10             	add    $0x10,%esp
4784fb:	5d                   	pop    %ebp
4784fc:	c3                   	ret
4784fd:	cc                   	int3
4784fe:	cc                   	int3
4784ff:	cc                   	int3
478500:	cc                   	int3
478501:	cc                   	int3
478502:	cc                   	int3
478503:	cc                   	int3
478504:	cc                   	int3
478505:	cc                   	int3
478506:	cc                   	int3
478507:	cc                   	int3
478508:	cc                   	int3
478509:	cc                   	int3
47850a:	cc                   	int3
47850b:	cc                   	int3
47850c:	cc                   	int3
47850d:	cc                   	int3
47850e:	cc                   	int3
47850f:	cc                   	int3
478510:	8b ff                	mov    %edi,%edi
478512:	55                   	push   %ebp
478513:	8b ec                	mov    %esp,%ebp
478515:	83 ec 2c             	sub    $0x2c,%esp
478518:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
47851c:	74 06                	je     0x478524
47851e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
478522:	75 07                	jne    0x47852b
478524:	33 c0                	xor    %eax,%eax
478526:	e9 16 02 00 00       	jmp    0x478741
47852b:	8b 45 0c             	mov    0xc(%ebp),%eax
47852e:	0f be 08             	movsbl (%eax),%ecx
478531:	85 c9                	test   %ecx,%ecx
478533:	75 15                	jne    0x47854a
478535:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
478539:	74 08                	je     0x478543
47853b:	33 d2                	xor    %edx,%edx
47853d:	8b 45 08             	mov    0x8(%ebp),%eax
478540:	66 89 10             	mov    %dx,(%eax)
478543:	33 c0                	xor    %eax,%eax
478545:	e9 f7 01 00 00       	jmp    0x478741
47854a:	8b 4d 14             	mov    0x14(%ebp),%ecx
47854d:	51                   	push   %ecx
47854e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478551:	e8 d0 96 f8 ff       	call   0x401c26
478556:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478559:	e8 84 94 f8 ff       	call   0x4019e2
47855e:	8b 10                	mov    (%eax),%edx
478560:	83 7a 04 01          	cmpl   $0x1,0x4(%edx)
478564:	74 33                	je     0x478599
478566:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478569:	e8 74 94 f8 ff       	call   0x4019e2
47856e:	8b 00                	mov    (%eax),%eax
478570:	83 78 04 02          	cmpl   $0x2,0x4(%eax)
478574:	74 23                	je     0x478599
478576:	68 20 fc 4a 00       	push   $0x4afc20
47857b:	68 60 83 49 00       	push   $0x498360
478580:	6a 00                	push   $0x0
478582:	6a 3f                	push   $0x3f
478584:	68 68 fd 4a 00       	push   $0x4afd68
478589:	6a 02                	push   $0x2
47858b:	e8 b7 93 f8 ff       	call   0x401947
478590:	83 c4 18             	add    $0x18,%esp
478593:	83 f8 01             	cmp    $0x1,%eax
478596:	75 01                	jne    0x478599
478598:	cc                   	int3
478599:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47859c:	e8 41 94 f8 ff       	call   0x4019e2
4785a1:	8b 10                	mov    (%eax),%edx
4785a3:	b8 04 00 00 00       	mov    $0x4,%eax
4785a8:	d1 e0                	shl    $1,%eax
4785aa:	83 bc 02 a0 00 00 00 	cmpl   $0x0,0xa0(%edx,%eax,1)
4785b1:	00
4785b2:	75 2a                	jne    0x4785de
4785b4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4785b8:	74 0d                	je     0x4785c7
4785ba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4785bd:	66 0f b6 11          	movzbw (%ecx),%dx
4785c1:	8b 45 08             	mov    0x8(%ebp),%eax
4785c4:	66 89 10             	mov    %dx,(%eax)
4785c7:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4785ce:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4785d1:	e8 8f b1 f8 ff       	call   0x403765
4785d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
4785d9:	e9 63 01 00 00       	jmp    0x478741
4785de:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4785e1:	e8 fc 93 f8 ff       	call   0x4019e2
4785e6:	50                   	push   %eax
4785e7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4785ea:	0f b6 11             	movzbl (%ecx),%edx
4785ed:	52                   	push   %edx
4785ee:	e8 a2 a9 f8 ff       	call   0x402f95
4785f3:	83 c4 08             	add    $0x8,%esp
4785f6:	85 c0                	test   %eax,%eax
4785f8:	0f 84 ca 00 00 00    	je     0x4786c8
4785fe:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478601:	e8 dc 93 f8 ff       	call   0x4019e2
478606:	8b 00                	mov    (%eax),%eax
478608:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
47860c:	7e 5c                	jle    0x47866a
47860e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478611:	e8 cc 93 f8 ff       	call   0x4019e2
478616:	8b 08                	mov    (%eax),%ecx
478618:	8b 55 10             	mov    0x10(%ebp),%edx
47861b:	3b 51 04             	cmp    0x4(%ecx),%edx
47861e:	7c 4a                	jl     0x47866a
478620:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
478624:	74 09                	je     0x47862f
478626:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
47862d:	eb 07                	jmp    0x478636
47862f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
478636:	8b 45 fc             	mov    -0x4(%ebp),%eax
478639:	50                   	push   %eax
47863a:	8b 4d 08             	mov    0x8(%ebp),%ecx