457437:	7e 0a                	jle    0x457443
457439:	8b 06                	mov    (%esi),%eax
45743b:	8b 40 10             	mov    0x10(%eax),%eax
45743e:	89 45 ea             	mov    %eax,-0x16(%ebp)
457441:	eb 05                	jmp    0x457448
457443:	33 c0                	xor    %eax,%eax
457445:	89 45 ea             	mov    %eax,-0x16(%ebp)
457448:	8a 4d fa             	mov    -0x6(%ebp),%cl
45744b:	8a 55 fb             	mov    -0x5(%ebp),%dl
45744e:	8b 06                	mov    (%esi),%eax
457450:	e8 87 f8 ff ff       	call   0x456cdc
457455:	40                   	inc    %eax
457456:	89 45 ee             	mov    %eax,-0x12(%ebp)
457459:	8b 06                	mov    (%esi),%eax
45745b:	8b 40 0c             	mov    0xc(%eax),%eax
45745e:	89 45 f2             	mov    %eax,-0xe(%ebp)
457461:	89 45 f6             	mov    %eax,-0xa(%ebp)
457464:	55                   	push   %ebp
457465:	8b 06                	mov    (%esi),%eax
457467:	8a 40 44             	mov    0x44(%eax),%al
45746a:	e8 51 fe ff ff       	call   0x4572c0
45746f:	59                   	pop    %ecx
457470:	8b 06                	mov    (%esi),%eax
457472:	c6 40 44 00          	movb   $0x0,0x44(%eax)
457476:	6a ff                	push   $0xffffffff
457478:	8d 45 de             	lea    -0x22(%ebp),%eax
45747b:	50                   	push   %eax
45747c:	0f b7 c3             	movzwl %bx,%eax
45747f:	50                   	push   %eax
457480:	8b 06                	mov    (%esi),%eax
457482:	8b 40 04             	mov    0x4(%eax),%eax
457485:	e8 66 ec fe ff       	call   0x4460f0
45748a:	50                   	push   %eax
45748b:	a1 88 dc 46 00       	mov    0x46dc88,%eax
457490:	8b 00                	mov    (%eax),%eax
457492:	ff d0                	call   *%eax
457494:	8b 06                	mov    (%esi),%eax
457496:	8b 50 0c             	mov    0xc(%eax),%edx
457499:	8b 06                	mov    (%esi),%eax
45749b:	e8 a4 fc ff ff       	call   0x457144
4574a0:	33 c9                	xor    %ecx,%ecx
4574a2:	b2 01                	mov    $0x1,%dl
4574a4:	8b 06                	mov    (%esi),%eax
4574a6:	e8 31 f8 ff ff       	call   0x456cdc
4574ab:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4574ae:	b9 0a 00 00 00       	mov    $0xa,%ecx
4574b3:	99                   	cltd
4574b4:	f7 f9                	idiv   %ecx
4574b6:	8b d8                	mov    %eax,%ebx
4574b8:	8b 06                	mov    (%esi),%eax
4574ba:	66 89 58 0a          	mov    %bx,0xa(%eax)
4574be:	8b 06                	mov    (%esi),%eax
4574c0:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
4574c4:	74 12                	je     0x4574d8
4574c6:	0f b7 c3             	movzwl %bx,%eax
4574c9:	b9 0a 00 00 00       	mov    $0xa,%ecx
4574ce:	33 d2                	xor    %edx,%edx
4574d0:	f7 f1                	div    %ecx
4574d2:	8b 16                	mov    (%esi),%edx
4574d4:	66 89 42 08          	mov    %ax,0x8(%edx)
4574d8:	5f                   	pop    %edi
4574d9:	5e                   	pop    %esi
4574da:	5b                   	pop    %ebx
4574db:	8b e5                	mov    %ebp,%esp
4574dd:	5d                   	pop    %ebp
4574de:	c3                   	ret
4574df:	90                   	nop
4574e0:	53                   	push   %ebx
4574e1:	56                   	push   %esi
4574e2:	84 d2                	test   %dl,%dl
4574e4:	74 08                	je     0x4574ee
4574e6:	83 c4 f0             	add    $0xfffffff0,%esp
4574e9:	e8 7e c0 fa ff       	call   0x40356c
4574ee:	8b da                	mov    %edx,%ebx
4574f0:	8b f0                	mov    %eax,%esi
4574f2:	33 d2                	xor    %edx,%edx
4574f4:	8b c6                	mov    %esi,%eax
4574f6:	e8 21 a9 fe ff       	call   0x441e1c
4574fb:	8b 46 50             	mov    0x50(%esi),%eax
4574fe:	0b 05 54 75 45 00    	or     0x457554,%eax
457504:	89 46 50             	mov    %eax,0x50(%esi)
457507:	6a 00                	push   $0x0
457509:	8b ce                	mov    %esi,%ecx
45750b:	b2 01                	mov    $0x1,%dl
45750d:	a1 b8 46 45 00       	mov    0x4546b8,%eax
457512:	e8 45 f4 ff ff       	call   0x45695c
457517:	89 86 08 02 00 00    	mov    %eax,0x208(%esi)
45751d:	6a 01                	push   $0x1
45751f:	8b ce                	mov    %esi,%ecx
457521:	b2 01                	mov    $0x1,%dl
457523:	a1 b8 46 45 00       	mov    0x4546b8,%eax
457528:	e8 2f f4 ff ff       	call   0x45695c
45752d:	89 86 0c 02 00 00    	mov    %eax,0x20c(%esi)
457533:	c6 86 10 02 00 00 01 	movb   $0x1,0x210(%esi)
45753a:	8b c6                	mov    %esi,%eax
45753c:	84 db                	test   %bl,%bl
45753e:	74 0f                	je     0x45754f
457540:	e8 7f c0 fa ff       	call   0x4035c4
457545:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45754c:	83 c4 0c             	add    $0xc,%esp
45754f:	8b c6                	mov    %esi,%eax
457551:	5e                   	pop    %esi
457552:	5b                   	pop    %ebx
457553:	c3                   	ret
457554:	00 00                	add    %al,(%eax)
457556:	02 00                	add    (%eax),%al
457558:	53                   	push   %ebx
457559:	56                   	push   %esi
45755a:	e8 75 c0 fa ff       	call   0x4035d4
45755f:	8b da                	mov    %edx,%ebx
457561:	8b f0                	mov    %eax,%esi
457563:	8b 86 08 02 00 00    	mov    0x208(%esi),%eax
457569:	e8 da bc fa ff       	call   0x403248
45756e:	8b 86 0c 02 00 00    	mov    0x20c(%esi),%eax
457574:	e8 cf bc fa ff       	call   0x403248
457579:	8b d3                	mov    %ebx,%edx
45757b:	80 e2 fc             	and    $0xfc,%dl
45757e:	8b c6                	mov    %esi,%eax
457580:	e8 bb a9 fe ff       	call   0x441f40
457585:	84 db                	test   %bl,%bl
457587:	7e 07                	jle    0x457590
457589:	8b c6                	mov    %esi,%eax
45758b:	e8 2c c0 fa ff       	call   0x4035bc
457590:	5e                   	pop    %esi
457591:	5b                   	pop    %ebx
457592:	c3                   	ret
457593:	90                   	nop
457594:	53                   	push   %ebx
457595:	8b da                	mov    %edx,%ebx
457597:	8b d3                	mov    %ebx,%edx
457599:	e8 de b9 fe ff       	call   0x442f7c
45759e:	83 63 24 fc          	andl   $0xfffffffc,0x24(%ebx)
4575a2:	5b                   	pop    %ebx
4575a3:	c3                   	ret
4575a4:	53                   	push   %ebx
4575a5:	8b d8                	mov    %eax,%ebx
4575a7:	8b c3                	mov    %ebx,%eax
4575a9:	e8 fa ba fe ff       	call   0x4430a8
4575ae:	a1 1c de 46 00       	mov    0x46de1c,%eax
4575b3:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
4575b7:	75 20                	jne    0x4575d9
4575b9:	ba 01 00 00 00       	mov    $0x1,%edx
4575be:	b8 05 00 00 00       	mov    $0x5,%eax
4575c3:	e8 d0 47 fb ff       	call   0x40bd98
4575c8:	84 c0                	test   %al,%al
4575ca:	75 0d                	jne    0x4575d9
4575cc:	8b c3                	mov    %ebx,%eax
4575ce:	e8 1d eb fe ff       	call   0x4460f0
4575d3:	50                   	push   %eax
4575d4:	e8 77 ee fc ff       	call   0x426450
4575d9:	8b c3                	mov    %ebx,%eax
4575db:	e8 dc 01 00 00       	call   0x4577bc
4575e0:	5b                   	pop    %ebx
4575e1:	c3                   	ret
4575e2:	8b c0                	mov    %eax,%eax
4575e4:	53                   	push   %ebx
4575e5:	56                   	push   %esi
4575e6:	57                   	push   %edi
4575e7:	8b f9                	mov    %ecx,%edi
4575e9:	8b f2                	mov    %edx,%esi
4575eb:	8b d8                	mov    %eax,%ebx
4575ed:	8b c3                	mov    %ebx,%eax
4575ef:	e8 48 01 00 00       	call   0x45773c
4575f4:	8b cf                	mov    %edi,%ecx
4575f6:	8b d6                	mov    %esi,%edx
4575f8:	8b c3                	mov    %ebx,%eax
4575fa:	e8 f1 b1 fe ff       	call   0x4427f0
4575ff:	5f                   	pop    %edi
457600:	5e                   	pop    %esi
457601:	5b                   	pop    %ebx
457602:	c3                   	ret
457603:	90                   	nop
457604:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
457608:	75 12                	jne    0x45761c
45760a:	80 b8 a8 01 00 00 00 	cmpb   $0x0,0x1a8(%eax)
457611:	74 0c                	je     0x45761f
457613:	80 b8 a7 01 00 00 00 	cmpb   $0x0,0x1a7(%eax)
45761a:	74 03                	je     0x45761f
45761c:	33 c0                	xor    %eax,%eax
45761e:	c3                   	ret
45761f:	b0 01                	mov    $0x1,%al
457621:	c3                   	ret
457622:	8b c0                	mov    %eax,%eax
457624:	55                   	push   %ebp
457625:	8b ec                	mov    %esp,%ebp
457627:	83 c4 f0             	add    $0xfffffff0,%esp
45762a:	53                   	push   %ebx
45762b:	56                   	push   %esi
45762c:	57                   	push   %edi
45762d:	89 45 fc             	mov    %eax,-0x4(%ebp)
457630:	b2 01                	mov    $0x1,%dl
457632:	a1 88 18 41 00       	mov    0x411888,%eax
457637:	e8 dc bb fa ff       	call   0x403218
45763c:	89 45 f0             	mov    %eax,-0x10(%ebp)
45763f:	33 c0                	xor    %eax,%eax
457641:	55                   	push   %ebp
457642:	68 2c 77 45 00       	push   $0x45772c
457647:	64 ff 30             	push   %fs:(%eax)
45764a:	64 89 20             	mov    %esp,%fs:(%eax)
45764d:	8b 45 fc             	mov    -0x4(%ebp),%eax
457650:	e8 b7 7c fe ff       	call   0x43f30c
457655:	89 45 f8             	mov    %eax,-0x8(%ebp)
457658:	8b 45 fc             	mov    -0x4(%ebp),%eax
45765b:	8b 98 08 02 00 00    	mov    0x208(%eax),%ebx
457661:	8b c3                	mov    %ebx,%eax
457663:	e8 8c f5 ff ff       	call   0x456bf4
457668:	84 c0                	test   %al,%al
45766a:	74 08                	je     0x457674
45766c:	8b 43 10             	mov    0x10(%ebx),%eax
45766f:	3b 45 f8             	cmp    -0x8(%ebp),%eax
457672:	7f 04                	jg     0x457678
457674:	33 c0                	xor    %eax,%eax
457676:	eb 02                	jmp    0x45767a
457678:	b0 01                	mov    $0x1,%al
45767a:	88 45 f7             	mov    %al,-0x9(%ebp)
45767d:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
457681:	74 0f                	je     0x457692
457683:	8b 43 10             	mov    0x10(%ebx),%eax
457686:	89 45 f8             	mov    %eax,-0x8(%ebp)
457689:	33 d2                	xor    %edx,%edx
45768b:	8b c3                	mov    %ebx,%eax
45768d:	e8 b2 fa ff ff       	call   0x457144
457692:	8b 45 fc             	mov    -0x4(%ebp),%eax
457695:	e8 86 b7 fe ff       	call   0x442e20
45769a:	8b f0                	mov    %eax,%esi
45769c:	4e                   	dec    %esi
45769d:	85 f6                	test   %esi,%esi
45769f:	7c 37                	jl     0x4576d8
4576a1:	46                   	inc    %esi
4576a2:	33 db                	xor    %ebx,%ebx
4576a4:	8b d3                	mov    %ebx,%edx
4576a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4576a9:	e8 36 b7 fe ff       	call   0x442de4
4576ae:	8b f8                	mov    %eax,%edi
4576b0:	8b d3                	mov    %ebx,%edx
4576b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4576b5:	e8 2a b7 fe ff       	call   0x442de4
4576ba:	8b d0                	mov    %eax,%edx
4576bc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4576bf:	e8 5c c5 fb ff       	call   0x413c20
4576c4:	8b 55 f8             	mov    -0x8(%ebp),%edx
4576c7:	2b 57 48             	sub    0x48(%edi),%edx
4576ca:	2b 57 40             	sub    0x40(%edi),%edx
4576cd:	8b c7                	mov    %edi,%eax
4576cf:	e8 a4 79 fe ff       	call   0x43f078
4576d4:	43                   	inc    %ebx
4576d5:	4e                   	dec    %esi
4576d6:	75 cc                	jne    0x4576a4
4576d8:	8b 45 f0             	mov    -0x10(%ebp),%eax
4576db:	8b 70 08             	mov    0x8(%eax),%esi
4576de:	4e                   	dec    %esi
4576df:	85 f6                	test   %esi,%esi
4576e1:	7c 1f                	jl     0x457702
4576e3:	46                   	inc    %esi
4576e4:	33 db                	xor    %ebx,%ebx
4576e6:	6a 00                	push   $0x0
4576e8:	8b d3                	mov    %ebx,%edx
4576ea:	8b 45 f0             	mov    -0x10(%ebp),%eax
4576ed:	e8 8a c6 fb ff       	call   0x413d7c
4576f2:	33 c9                	xor    %ecx,%ecx
4576f4:	ba 3e b0 00 00       	mov    $0xb03e,%edx
4576f9:	e8 be 93 fe ff       	call   0x440abc
4576fe:	43                   	inc    %ebx
4576ff:	4e                   	dec    %esi
457700:	75 e4                	jne    0x4576e6
457702:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
457706:	74 0e                	je     0x457716
457708:	8b 45 fc             	mov    -0x4(%ebp),%eax
45770b:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
457711:	e8 26 f3 ff ff       	call   0x456a3c
457716:	33 c0                	xor    %eax,%eax
457718:	5a                   	pop    %edx
457719:	59                   	pop    %ecx
45771a:	59                   	pop    %ecx
45771b:	64 89 10             	mov    %edx,%fs:(%eax)
45771e:	68 33 77 45 00       	push   $0x457733
457723:	8b 45 f0             	mov    -0x10(%ebp),%eax
457726:	e8 1d bb fa ff       	call   0x403248
45772b:	c3                   	ret
45772c:	e9 6b c2 fa ff       	jmp    0x40399c
457731:	eb f0                	jmp    0x457723
457733:	5f                   	pop    %edi
457734:	5e                   	pop    %esi
457735:	5b                   	pop    %ebx
457736:	8b e5                	mov    %ebp,%esp
457738:	5d                   	pop    %ebp
457739:	c3                   	ret
45773a:	8b c0                	mov    %eax,%eax
45773c:	53                   	push   %ebx
45773d:	8b d8                	mov    %eax,%ebx
45773f:	83 bb 14 02 00 00 00 	cmpl   $0x0,0x214(%ebx)
457746:	7f 16                	jg     0x45775e
457748:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
45774e:	e8 f5 f3 ff ff       	call   0x456b48
457753:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
457759:	e8 ea f3 ff ff       	call   0x456b48
45775e:	5b                   	pop    %ebx
45775f:	c3                   	ret
457760:	53                   	push   %ebx
457761:	8b d8                	mov    %eax,%ebx
457763:	3a 93 10 02 00 00    	cmp    0x210(%ebx),%dl
457769:	74 2d                	je     0x457798
45776b:	88 93 10 02 00 00    	mov    %dl,0x210(%ebx)
457771:	84 d2                	test   %dl,%dl
457773:	74 09                	je     0x45777e
457775:	8b c3                	mov    %ebx,%eax
457777:	e8 c0 ff ff ff       	call   0x45773c
45777c:	eb 1a                	jmp    0x457798
45777e:	33 d2                	xor    %edx,%edx
457780:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
457786:	e8 09 fb ff ff       	call   0x457294
45778b:	33 d2                	xor    %edx,%edx
45778d:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
457793:	e8 fc fa ff ff       	call   0x457294
457798:	5b                   	pop    %ebx
457799:	c3                   	ret
45779a:	8b c0                	mov    %eax,%eax
45779c:	56                   	push   %esi
45779d:	8b f0                	mov    %eax,%esi
45779f:	8b 86 08 02 00 00    	mov    0x208(%esi),%eax
4577a5:	8b 08                	mov    (%eax),%ecx
4577a7:	ff 51 08             	call   *0x8(%ecx)
4577aa:	5e                   	pop    %esi
4577ab:	c3                   	ret
4577ac:	56                   	push   %esi
4577ad:	8b f0                	mov    %eax,%esi
4577af:	8b 86 0c 02 00 00    	mov    0x20c(%esi),%eax
4577b5:	8b 08                	mov    (%eax),%ecx
4577b7:	ff 51 08             	call   *0x8(%ecx)
4577ba:	5e                   	pop    %esi
4577bb:	c3                   	ret
4577bc:	55                   	push   %ebp
4577bd:	8b ec                	mov    %esp,%ebp
4577bf:	51                   	push   %ecx
4577c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4577c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4577c6:	80 b8 18 02 00 00 00 	cmpb   $0x0,0x218(%eax)
4577cd:	0f 85 db 00 00 00    	jne    0x4578ae
4577d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4577d6:	e8 19 ec fe ff       	call   0x4463f4
4577db:	84 c0                	test   %al,%al
4577dd:	0f 84 cb 00 00 00    	je     0x4578ae
4577e3:	33 c0                	xor    %eax,%eax
4577e5:	55                   	push   %ebp
4577e6:	68 a7 78 45 00       	push   $0x4578a7
4577eb:	64 ff 30             	push   %fs:(%eax)
4577ee:	64 89 20             	mov    %esp,%fs:(%eax)
4577f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4577f4:	c6 80 18 02 00 00 01 	movb   $0x1,0x218(%eax)
4577fb:	8b 45 fc             	mov    -0x4(%ebp),%eax