45724c:	3a 50 34             	cmp    0x34(%eax),%dl
45724f:	74 0f                	je     0x457260
457251:	88 50 34             	mov    %dl,0x34(%eax)
457254:	c6 40 44 01          	movb   $0x1,0x44(%eax)
457258:	8b 40 04             	mov    0x4(%eax),%eax
45725b:	e8 5c 05 00 00       	call   0x4577bc
457260:	c3                   	ret
457261:	8d 40 00             	lea    0x0(%eax),%eax
457264:	3b 50 38             	cmp    0x38(%eax),%edx
457267:	74 0f                	je     0x457278
457269:	89 50 38             	mov    %edx,0x38(%eax)
45726c:	c6 40 44 01          	movb   $0x1,0x44(%eax)
457270:	8b 40 04             	mov    0x4(%eax),%eax
457273:	e8 44 05 00 00       	call   0x4577bc
457278:	c3                   	ret
457279:	8d 40 00             	lea    0x0(%eax),%eax
45727c:	8b ca                	mov    %edx,%ecx
45727e:	89 48 10             	mov    %ecx,0x10(%eax)
457281:	85 c9                	test   %ecx,%ecx
457283:	7d 05                	jge    0x45728a
457285:	33 d2                	xor    %edx,%edx
457287:	89 50 10             	mov    %edx,0x10(%eax)
45728a:	8b 40 04             	mov    0x4(%eax),%eax
45728d:	e8 2a 05 00 00       	call   0x4577bc
457292:	c3                   	ret
457293:	90                   	nop
457294:	8b 48 04             	mov    0x4(%eax),%ecx
457297:	c6 81 10 02 00 00 00 	movb   $0x0,0x210(%ecx)
45729e:	c6 40 1e 01          	movb   $0x1,0x1e(%eax)
4572a2:	e8 d5 ff ff ff       	call   0x45727c
4572a7:	c3                   	ret
4572a8:	8b 40 04             	mov    0x4(%eax),%eax
4572ab:	8a 80 10 02 00 00    	mov    0x210(%eax),%al
4572b1:	34 01                	xor    $0x1,%al
4572b3:	c3                   	ret
4572b4:	88 50 1c             	mov    %dl,0x1c(%eax)
4572b7:	8b 40 04             	mov    0x4(%eax),%eax
4572ba:	e8 fd 04 00 00       	call   0x4577bc
4572bf:	c3                   	ret
4572c0:	55                   	push   %ebp
4572c1:	8b ec                	mov    %esp,%ebp
4572c3:	53                   	push   %ebx
4572c4:	56                   	push   %esi
4572c5:	8b d8                	mov    %eax,%ebx
4572c7:	8b 75 08             	mov    0x8(%ebp),%esi
4572ca:	83 c6 fc             	add    $0xfffffffc,%esi
4572cd:	80 fb 01             	cmp    $0x1,%bl
4572d0:	f5                   	cmc
4572d1:	1b c0                	sbb    %eax,%eax
4572d3:	50                   	push   %eax
4572d4:	8b 06                	mov    (%esi),%eax
4572d6:	0f b6 40 34          	movzbl 0x34(%eax),%eax
4572da:	8b 04 85 e4 3d 46 00 	mov    0x463de4(,%eax,4),%eax
4572e1:	50                   	push   %eax
4572e2:	8b 06                	mov    (%esi),%eax
4572e4:	0f b6 40 18          	movzbl 0x18(%eax),%eax
4572e8:	8d 04 80             	lea    (%eax,%eax,4),%eax
4572eb:	8b 04 85 bc 3d 46 00 	mov    0x463dbc(,%eax,4),%eax
4572f2:	50                   	push   %eax
4572f3:	8b 06                	mov    (%esi),%eax
4572f5:	8b 40 04             	mov    0x4(%eax),%eax
4572f8:	e8 f3 ed fe ff       	call   0x4460f0
4572fd:	50                   	push   %eax
4572fe:	e8 19 f1 fc ff       	call   0x42641c
457303:	8b 06                	mov    (%esi),%eax
457305:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
457309:	7e 29                	jle    0x457334
45730b:	6a 00                	push   $0x0
45730d:	8b 06                	mov    (%esi),%eax
45730f:	8b 40 24             	mov    0x24(%eax),%eax
457312:	50                   	push   %eax
457313:	8b 06                	mov    (%esi),%eax
457315:	0f b6 40 18          	movzbl 0x18(%eax),%eax
457319:	8d 04 80             	lea    (%eax,%eax,4),%eax
45731c:	8b 04 85 c0 3d 46 00 	mov    0x463dc0(,%eax,4),%eax
457323:	50                   	push   %eax
457324:	8b 06                	mov    (%esi),%eax
457326:	8b 40 04             	mov    0x4(%eax),%eax
457329:	e8 c2 ed fe ff       	call   0x4460f0
45732e:	50                   	push   %eax
45732f:	e8 e8 f0 fc ff       	call   0x42641c
457334:	8b 06                	mov    (%esi),%eax
457336:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
45733a:	7e 29                	jle    0x457365
45733c:	6a 00                	push   $0x0
45733e:	8b 06                	mov    (%esi),%eax
457340:	8b 40 38             	mov    0x38(%eax),%eax
457343:	50                   	push   %eax
457344:	8b 06                	mov    (%esi),%eax
457346:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45734a:	8d 04 80             	lea    (%eax,%eax,4),%eax
45734d:	8b 04 85 c4 3d 46 00 	mov    0x463dc4(,%eax,4),%eax
457354:	50                   	push   %eax
457355:	8b 06                	mov    (%esi),%eax
457357:	8b 40 04             	mov    0x4(%eax),%eax
45735a:	e8 91 ed fe ff       	call   0x4460f0
45735f:	50                   	push   %eax
457360:	e8 b7 f0 fc ff       	call   0x42641c
457365:	8b 06                	mov    (%esi),%eax
457367:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
45736b:	7e 29                	jle    0x457396
45736d:	6a 00                	push   $0x0
45736f:	8b 06                	mov    (%esi),%eax
457371:	8b 40 30             	mov    0x30(%eax),%eax
457374:	50                   	push   %eax
457375:	8b 06                	mov    (%esi),%eax
457377:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45737b:	8d 04 80             	lea    (%eax,%eax,4),%eax
45737e:	8b 04 85 c8 3d 46 00 	mov    0x463dc8(,%eax,4),%eax
457385:	50                   	push   %eax
457386:	8b 06                	mov    (%esi),%eax
457388:	8b 40 04             	mov    0x4(%eax),%eax
45738b:	e8 60 ed fe ff       	call   0x4460f0
457390:	50                   	push   %eax
457391:	e8 86 f0 fc ff       	call   0x42641c
457396:	6a 00                	push   $0x0
457398:	8b 06                	mov    (%esi),%eax
45739a:	8b 40 28             	mov    0x28(%eax),%eax
45739d:	e8 66 5a fc ff       	call   0x41ce08
4573a2:	50                   	push   %eax
4573a3:	8b 06                	mov    (%esi),%eax
4573a5:	0f b6 40 18          	movzbl 0x18(%eax),%eax
4573a9:	8d 04 80             	lea    (%eax,%eax,4),%eax
4573ac:	8b 04 85 cc 3d 46 00 	mov    0x463dcc(,%eax,4),%eax
4573b3:	50                   	push   %eax
4573b4:	8b 06                	mov    (%esi),%eax
4573b6:	8b 40 04             	mov    0x4(%eax),%eax
4573b9:	e8 32 ed fe ff       	call   0x4460f0
4573be:	50                   	push   %eax
4573bf:	e8 58 f0 fc ff       	call   0x42641c
4573c4:	5e                   	pop    %esi
4573c5:	5b                   	pop    %ebx
4573c6:	5d                   	pop    %ebp
4573c7:	c3                   	ret
4573c8:	55                   	push   %ebp
4573c9:	8b ec                	mov    %esp,%ebp
4573cb:	83 c4 dc             	add    $0xffffffdc,%esp
4573ce:	53                   	push   %ebx
4573cf:	56                   	push   %esi
4573d0:	57                   	push   %edi
4573d1:	88 4d fa             	mov    %cl,-0x6(%ebp)
4573d4:	88 55 fb             	mov    %dl,-0x5(%ebp)
4573d7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4573da:	8d 75 fc             	lea    -0x4(%ebp),%esi
4573dd:	8b 06                	mov    (%esi),%eax
4573df:	33 d2                	xor    %edx,%edx
4573e1:	89 50 14             	mov    %edx,0x14(%eax)
4573e4:	33 db                	xor    %ebx,%ebx
4573e6:	8b 06                	mov    (%esi),%eax
4573e8:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
4573ec:	75 04                	jne    0x4573f2
4573ee:	66 bb 01 00          	mov    $0x1,%bx
4573f2:	8b 06                	mov    (%esi),%eax
4573f4:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
4573f8:	74 24                	je     0x45741e
4573fa:	8a 4d fa             	mov    -0x6(%ebp),%cl
4573fd:	8a 55 fb             	mov    -0x5(%ebp),%dl
457400:	8b 06                	mov    (%esi),%eax
457402:	e8 d5 f8 ff ff       	call   0x456cdc
457407:	8b 16                	mov    (%esi),%edx
457409:	8b 7a 10             	mov    0x10(%edx),%edi
45740c:	2b f8                	sub    %eax,%edi
45740e:	8b 06                	mov    (%esi),%eax
457410:	89 78 14             	mov    %edi,0x14(%eax)
457413:	85 ff                	test   %edi,%edi
457415:	7d 07                	jge    0x45741e
457417:	8b 06                	mov    (%esi),%eax
457419:	33 d2                	xor    %edx,%edx
45741b:	89 50 14             	mov    %edx,0x14(%eax)
45741e:	c7 45 de 1c 00 00 00 	movl   $0x1c,-0x22(%ebp)
457425:	c7 45 e2 17 00 00 00 	movl   $0x17,-0x1e(%ebp)
45742c:	33 c0                	xor    %eax,%eax
45742e:	89 45 e6             	mov    %eax,-0x1a(%ebp)
457431:	8b 06                	mov    (%esi),%eax
457433:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
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)