41730f:	83 c4 f0             	add    $0xfffffff0,%esp
417312:	e8 0d c3 fe ff       	call   0x403624
417317:	8b f9                	mov    %ecx,%edi
417319:	88 55 ff             	mov    %dl,-0x1(%ebp)
41731c:	8b d8                	mov    %eax,%ebx
41731e:	33 d2                	xor    %edx,%edx
417320:	8b c3                	mov    %ebx,%eax
417322:	e8 69 bf fe ff       	call   0x403290
417327:	b2 01                	mov    $0x1,%dl
417329:	a1 d8 5f 41 00       	mov    0x415fd8,%eax
41732e:	e8 5d bf fe ff       	call   0x403290
417333:	89 43 04             	mov    %eax,0x4(%ebx)
417336:	b2 01                	mov    $0x1,%dl
417338:	a1 80 65 41 00       	mov    0x416580,%eax
41733d:	e8 4e bf fe ff       	call   0x403290
417342:	89 43 08             	mov    %eax,0x8(%ebx)
417345:	b2 01                	mov    $0x1,%dl
417347:	a1 d8 5f 41 00       	mov    0x415fd8,%eax
41734c:	e8 3f bf fe ff       	call   0x403290
417351:	8b f0                	mov    %eax,%esi
417353:	89 73 0c             	mov    %esi,0xc(%ebx)
417356:	8b c6                	mov    %esi,%eax
417358:	8b d7                	mov    %edi,%edx
41735a:	e8 c9 12 00 00       	call   0x418628
41735f:	8b c3                	mov    %ebx,%eax
417361:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
417365:	74 0f                	je     0x417376
417367:	e8 10 c3 fe ff       	call   0x40367c
41736c:	64 8f 05 00 00 00 00 	pop    %fs:0x0
417373:	83 c4 0c             	add    $0xc,%esp
417376:	8b c3                	mov    %ebx,%eax
417378:	5f                   	pop    %edi
417379:	5e                   	pop    %esi
41737a:	5b                   	pop    %ebx
41737b:	59                   	pop    %ecx
41737c:	5d                   	pop    %ebp
41737d:	c3                   	ret
41737e:	8b c0                	mov    %eax,%eax
417380:	53                   	push   %ebx
417381:	56                   	push   %esi
417382:	e8 05 c3 fe ff       	call   0x40368c
417387:	8b da                	mov    %edx,%ebx
417389:	8b f0                	mov    %eax,%esi
41738b:	8b d3                	mov    %ebx,%edx
41738d:	80 e2 fc             	and    $0xfc,%dl
417390:	8b c6                	mov    %esi,%eax
417392:	e8 19 bf fe ff       	call   0x4032b0
417397:	8b 46 04             	mov    0x4(%esi),%eax
41739a:	e8 21 bf fe ff       	call   0x4032c0
41739f:	8b 46 08             	mov    0x8(%esi),%eax
4173a2:	e8 19 bf fe ff       	call   0x4032c0
4173a7:	8b 46 0c             	mov    0xc(%esi),%eax
4173aa:	e8 11 bf fe ff       	call   0x4032c0
4173af:	84 db                	test   %bl,%bl
4173b1:	7e 07                	jle    0x4173ba
4173b3:	8b c6                	mov    %esi,%eax
4173b5:	e8 ba c2 fe ff       	call   0x403674
4173ba:	5e                   	pop    %esi
4173bb:	5b                   	pop    %ebx
4173bc:	c3                   	ret
4173bd:	8d 40 00             	lea    0x0(%eax),%eax
4173c0:	53                   	push   %ebx
4173c1:	56                   	push   %esi
4173c2:	57                   	push   %edi
4173c3:	55                   	push   %ebp
4173c4:	51                   	push   %ecx
4173c5:	89 14 24             	mov    %edx,(%esp)
4173c8:	8b e8                	mov    %eax,%ebp
4173ca:	8b 45 04             	mov    0x4(%ebp),%eax
4173cd:	8b 70 08             	mov    0x8(%eax),%esi
4173d0:	4e                   	dec    %esi
4173d1:	85 f6                	test   %esi,%esi
4173d3:	7c 21                	jl     0x4173f6
4173d5:	46                   	inc    %esi
4173d6:	33 db                	xor    %ebx,%ebx
4173d8:	8b 45 04             	mov    0x4(%ebp),%eax
4173db:	8b d3                	mov    %ebx,%edx
4173dd:	e8 a2 13 00 00       	call   0x418784
4173e2:	8b f8                	mov    %eax,%edi
4173e4:	8b 14 24             	mov    (%esp),%edx
4173e7:	8b c7                	mov    %edi,%eax
4173e9:	e8 36 be fe ff       	call   0x403224
4173ee:	84 c0                	test   %al,%al
4173f0:	75 25                	jne    0x417417
4173f2:	43                   	inc    %ebx
4173f3:	4e                   	dec    %esi
4173f4:	75 e2                	jne    0x4173d8
4173f6:	8b 45 08             	mov    0x8(%ebp),%eax
4173f9:	8b 14 24             	mov    (%esp),%edx
4173fc:	8b 08                	mov    (%eax),%ecx
4173fe:	ff 51 54             	call   *0x54(%ecx)
417401:	8b d8                	mov    %eax,%ebx
417403:	85 db                	test   %ebx,%ebx
417405:	7c 0e                	jl     0x417415
417407:	8b 45 08             	mov    0x8(%ebp),%eax
41740a:	8b d3                	mov    %ebx,%edx
41740c:	8b 08                	mov    (%eax),%ecx
41740e:	ff 51 18             	call   *0x18(%ecx)
417411:	8b f8                	mov    %eax,%edi
417413:	eb 02                	jmp    0x417417
417415:	33 ff                	xor    %edi,%edi
417417:	8b c7                	mov    %edi,%eax
417419:	5a                   	pop    %edx
41741a:	5d                   	pop    %ebp
41741b:	5f                   	pop    %edi
41741c:	5e                   	pop    %esi
41741d:	5b                   	pop    %ebx
41741e:	c3                   	ret
41741f:	90                   	nop
417420:	53                   	push   %ebx
417421:	56                   	push   %esi
417422:	57                   	push   %edi
417423:	55                   	push   %ebp
417424:	51                   	push   %ecx
417425:	8b ea                	mov    %edx,%ebp
417427:	8b f8                	mov    %eax,%edi
417429:	c6 04 24 01          	movb   $0x1,(%esp)
41742d:	8b 47 0c             	mov    0xc(%edi),%eax
417430:	8b 58 08             	mov    0x8(%eax),%ebx
417433:	4b                   	dec    %ebx
417434:	85 db                	test   %ebx,%ebx
417436:	7c 1e                	jl     0x417456
417438:	43                   	inc    %ebx
417439:	33 f6                	xor    %esi,%esi
41743b:	8b 47 0c             	mov    0xc(%edi),%eax
41743e:	8b d6                	mov    %esi,%edx
417440:	e8 3f 13 00 00       	call   0x418784
417445:	8b d0                	mov    %eax,%edx
417447:	8b c5                	mov    %ebp,%eax
417449:	e8 9e c0 fe ff       	call   0x4034ec
41744e:	84 c0                	test   %al,%al
417450:	75 08                	jne    0x41745a
417452:	46                   	inc    %esi
417453:	4b                   	dec    %ebx
417454:	75 e5                	jne    0x41743b
417456:	c6 04 24 00          	movb   $0x0,(%esp)
41745a:	8a 04 24             	mov    (%esp),%al
41745d:	5a                   	pop    %edx
41745e:	5d                   	pop    %ebp
41745f:	5f                   	pop    %edi
417460:	5e                   	pop    %esi
417461:	5b                   	pop    %ebx
417462:	c3                   	ret
417463:	90                   	nop
417464:	55                   	push   %ebp
417465:	8b ec                	mov    %esp,%ebp
417467:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
41746d:	53                   	push   %ebx
41746e:	56                   	push   %esi
41746f:	33 c9                	xor    %ecx,%ecx
417471:	89 4d fc             	mov    %ecx,-0x4(%ebp)
417474:	8b f2                	mov    %edx,%esi
417476:	8b d8                	mov    %eax,%ebx
417478:	33 c0                	xor    %eax,%eax
41747a:	55                   	push   %ebp
41747b:	68 ff 74 41 00       	push   $0x4174ff
417480:	64 ff 30             	push   %fs:(%eax)
417483:	64 89 20             	mov    %esp,%fs:(%eax)
417486:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
41748c:	8b c6                	mov    %esi,%eax
41748e:	e8 7d bd fe ff       	call   0x403210
417493:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
417499:	8d 45 fc             	lea    -0x4(%ebp),%eax
41749c:	e8 13 ce fe ff       	call   0x4042b4
4174a1:	8b 55 fc             	mov    -0x4(%ebp),%edx
4174a4:	8b c3                	mov    %ebx,%eax
4174a6:	e8 15 ff ff ff       	call   0x4173c0
4174ab:	85 c0                	test   %eax,%eax
4174ad:	74 30                	je     0x4174df
4174af:	8b 45 fc             	mov    -0x4(%ebp),%eax
4174b2:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
4174b8:	c6 85 f8 fe ff ff 0b 	movb   $0xb,-0x108(%ebp)
4174bf:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4174c5:	50                   	push   %eax
4174c6:	6a 00                	push   $0x0
4174c8:	8b 0d 8c 47 47 00    	mov    0x47478c,%ecx
4174ce:	b2 01                	mov    $0x1,%dl
4174d0:	a1 f0 5b 41 00       	mov    0x415bf0,%eax
4174d5:	e8 12 47 ff ff       	call   0x40bbec
4174da:	e8 ad c5 fe ff       	call   0x403a8c
4174df:	8b d6                	mov    %esi,%edx
4174e1:	8b 43 04             	mov    0x4(%ebx),%eax
4174e4:	e8 3f 11 00 00       	call   0x418628
4174e9:	33 c0                	xor    %eax,%eax
4174eb:	5a                   	pop    %edx
4174ec:	59                   	pop    %ecx
4174ed:	59                   	pop    %ecx
4174ee:	64 89 10             	mov    %edx,%fs:(%eax)
4174f1:	68 06 75 41 00       	push   $0x417506
4174f6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4174f9:	e8 52 cb fe ff       	call   0x404050
4174fe:	c3                   	ret
4174ff:	e9 50 c5 fe ff       	jmp    0x403a54
417504:	eb f0                	jmp    0x4174f6
417506:	5e                   	pop    %esi
417507:	5b                   	pop    %ebx
417508:	8b e5                	mov    %ebp,%esp
41750a:	5d                   	pop    %ebp
41750b:	c3                   	ret
41750c:	53                   	push   %ebx
41750d:	56                   	push   %esi
41750e:	8b f2                	mov    %edx,%esi
417510:	8b d8                	mov    %eax,%ebx
417512:	8b d6                	mov    %esi,%edx
417514:	8b 43 04             	mov    0x4(%ebx),%eax
417517:	e8 c4 12 00 00       	call   0x4187e0
41751c:	85 c0                	test   %eax,%eax
41751e:	0f 9d c0             	setge  %al
417521:	5e                   	pop    %esi
417522:	5b                   	pop    %ebx
417523:	c3                   	ret
417524:	53                   	push   %ebx
417525:	56                   	push   %esi
417526:	8b da                	mov    %edx,%ebx
417528:	8b f0                	mov    %eax,%esi
41752a:	85 db                	test   %ebx,%ebx
41752c:	74 10                	je     0x41753e
41752e:	8b c6                	mov    %esi,%eax
417530:	e8 6f dd fe ff       	call   0x4052a4
417535:	3b d8                	cmp    %eax,%ebx
417537:	74 05                	je     0x41753e
417539:	33 c0                	xor    %eax,%eax
41753b:	5e                   	pop    %esi
41753c:	5b                   	pop    %ebx
41753d:	c3                   	ret
41753e:	b0 01                	mov    $0x1,%al
417540:	5e                   	pop    %esi
417541:	5b                   	pop    %ebx
417542:	c3                   	ret
417543:	90                   	nop
417544:	53                   	push   %ebx
417545:	56                   	push   %esi
417546:	57                   	push   %edi
417547:	8b fa                	mov    %edx,%edi
417549:	8b f0                	mov    %eax,%esi
41754b:	8b 46 0c             	mov    0xc(%esi),%eax
41754e:	8b 58 08             	mov    0x8(%eax),%ebx
417551:	4b                   	dec    %ebx
417552:	83 fb 00             	cmp    $0x0,%ebx
417555:	7c 25                	jl     0x41757c
417557:	8b d3                	mov    %ebx,%edx
417559:	8b 46 0c             	mov    0xc(%esi),%eax
41755c:	e8 23 12 00 00       	call   0x418784
417561:	8b d7                	mov    %edi,%edx
417563:	e8 bc ff ff ff       	call   0x417524
417568:	84 c0                	test   %al,%al
41756a:	74 0a                	je     0x417576
41756c:	8b d3                	mov    %ebx,%edx
41756e:	8b 46 0c             	mov    0xc(%esi),%eax
417571:	e8 fe 10 00 00       	call   0x418674
417576:	4b                   	dec    %ebx
417577:	83 fb ff             	cmp    $0xffffffff,%ebx
41757a:	75 db                	jne    0x417557
41757c:	8b 46 04             	mov    0x4(%esi),%eax
41757f:	8b 58 08             	mov    0x8(%eax),%ebx
417582:	4b                   	dec    %ebx
417583:	83 fb 00             	cmp    $0x0,%ebx
417586:	7c 25                	jl     0x4175ad
417588:	8b d3                	mov    %ebx,%edx
41758a:	8b 46 04             	mov    0x4(%esi),%eax
41758d:	e8 f2 11 00 00       	call   0x418784
417592:	8b d7                	mov    %edi,%edx
417594:	e8 8b ff ff ff       	call   0x417524
417599:	84 c0                	test   %al,%al
41759b:	74 0a                	je     0x4175a7
41759d:	8b d3                	mov    %ebx,%edx
41759f:	8b 46 04             	mov    0x4(%esi),%eax
4175a2:	e8 cd 10 00 00       	call   0x418674
4175a7:	4b                   	dec    %ebx
4175a8:	83 fb ff             	cmp    $0xffffffff,%ebx
4175ab:	75 db                	jne    0x417588
4175ad:	8b 46 08             	mov    0x8(%esi),%eax
4175b0:	8b 10                	mov    (%eax),%edx
4175b2:	ff 52 14             	call   *0x14(%edx)
4175b5:	8b d8                	mov    %eax,%ebx
4175b7:	4b                   	dec    %ebx
4175b8:	83 fb 00             	cmp    $0x0,%ebx
4175bb:	7c 25                	jl     0x4175e2
4175bd:	8b d3                	mov    %ebx,%edx
4175bf:	8b 46 08             	mov    0x8(%esi),%eax
4175c2:	8b 08                	mov    (%eax),%ecx
4175c4:	ff 51 18             	call   *0x18(%ecx)
4175c7:	8b d7                	mov    %edi,%edx
4175c9:	e8 56 ff ff ff       	call   0x417524
4175ce:	84 c0                	test   %al,%al
4175d0:	74 0a                	je     0x4175dc
4175d2:	8b d3                	mov    %ebx,%edx
4175d4:	8b 46 08             	mov    0x8(%esi),%eax
4175d7:	8b 08                	mov    (%eax),%ecx
4175d9:	ff 51 48             	call   *0x48(%ecx)
4175dc:	4b                   	dec    %ebx
4175dd:	83 fb ff             	cmp    $0xffffffff,%ebx
4175e0:	75 db                	jne    0x4175bd
4175e2:	5f                   	pop    %edi
4175e3:	5e                   	pop    %esi
4175e4:	5b                   	pop    %ebx
4175e5:	c3                   	ret
4175e6:	8b c0                	mov    %eax,%eax
4175e8:	53                   	push   %ebx
4175e9:	56                   	push   %esi
4175ea:	57                   	push   %edi
4175eb:	55                   	push   %ebp
4175ec:	51                   	push   %ecx
4175ed:	89 14 24             	mov    %edx,(%esp)
4175f0:	8b f8                	mov    %eax,%edi
4175f2:	8b 47 20             	mov    0x20(%edi),%eax
4175f5:	3b 04 24             	cmp    (%esp),%eax
4175f8:	74 31                	je     0x41762b
4175fa:	8b 04 24             	mov    (%esp),%eax
4175fd:	89 47 20             	mov    %eax,0x20(%edi)
417600:	8b 47 04             	mov    0x4(%edi),%eax
417603:	8b 70 08             	mov    0x8(%eax),%esi
417606:	4e                   	dec    %esi
417607:	85 f6                	test   %esi,%esi
417609:	7c 20                	jl     0x41762b
41760b:	46                   	inc    %esi
41760c:	33 ed                	xor    %ebp,%ebp
41760e:	8b 47 04             	mov    0x4(%edi),%eax
417611:	8b d5                	mov    %ebp,%edx
417613:	e8 6c 11 00 00       	call   0x418784
417618:	8b d8                	mov    %eax,%ebx
41761a:	8b 14 24             	mov    (%esp),%edx
41761d:	8b c3                	mov    %ebx,%eax
41761f:	e8 fc fd ff ff       	call   0x417420
417624:	88 43 10             	mov    %al,0x10(%ebx)
417627:	45                   	inc    %ebp
417628:	4e                   	dec    %esi
417629:	75 e3                	jne    0x41760e
41762b:	5a                   	pop    %edx
41762c:	5d                   	pop    %ebp
41762d:	5f                   	pop    %edi
41762e:	5e                   	pop    %esi
41762f:	5b                   	pop    %ebx
417630:	c3                   	ret
417631:	8d 40 00             	lea    0x0(%eax),%eax
417634:	53                   	push   %ebx
417635:	56                   	push   %esi
417636:	57                   	push   %edi
417637:	84 d2                	test   %dl,%dl
417639:	74 08                	je     0x417643
41763b:	83 c4 f0             	add    $0xfffffff0,%esp
41763e:	e8 e1 bf fe ff       	call   0x403624
417643:	8b da                	mov    %edx,%ebx
417645:	8b f8                	mov    %eax,%edi
417647:	33 d2                	xor    %edx,%edx
417649:	8b c7                	mov    %edi,%eax
41764b:	e8 40 bc fe ff       	call   0x403290
417650:	b2 01                	mov    $0x1,%dl
417652:	a1 d8 5f 41 00       	mov    0x415fd8,%eax
417657:	e8 34 bc fe ff       	call   0x403290