457143:	80 bf 8d 00 00 00 00 	cmpb   $0x0,0x8d(%edi)
45714a:	75 0c                	jne    0x457158
45714c:	8b c6                	mov    %esi,%eax
45714e:	e8 71 01 00 00       	call   0x4572c4
457153:	e9 b8 00 00 00       	jmp    0x457210
457158:	3b 7e 60             	cmp    0x60(%esi),%edi
45715b:	74 04                	je     0x457161
45715d:	b0 01                	mov    $0x1,%al
45715f:	eb 40                	jmp    0x4571a1
457161:	8b 45 08             	mov    0x8(%ebp),%eax
457164:	89 44 24 18          	mov    %eax,0x18(%esp)
457168:	0f bf 44 24 18       	movswl 0x18(%esp),%eax
45716d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
457171:	0f bf 44 24 1a       	movswl 0x1a(%esp),%eax
457176:	89 44 24 20          	mov    %eax,0x20(%esp)
45717a:	8d 4c 24 24          	lea    0x24(%esp),%ecx
45717e:	8d 54 24 1c          	lea    0x1c(%esp),%edx
457182:	8b c3                	mov    %ebx,%eax
457184:	e8 a3 27 fe ff       	call   0x43992c
457189:	ff 74 24 28          	push   0x28(%esp)
45718d:	ff 74 24 28          	push   0x28(%esp)
457191:	8d 46 64             	lea    0x64(%esi),%eax
457194:	50                   	push   %eax
457195:	e8 5e ff fa ff       	call   0x4070f8
45719a:	83 f8 01             	cmp    $0x1,%eax
45719d:	1b c0                	sbb    %eax,%eax
45719f:	f7 d8                	neg    %eax
4571a1:	84 c0                	test   %al,%al
4571a3:	74 6b                	je     0x457210
4571a5:	0f b6 5e 58          	movzbl 0x58(%esi),%ebx
4571a9:	84 db                	test   %bl,%bl
4571ab:	74 0b                	je     0x4571b8
4571ad:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
4571b3:	89 04 24             	mov    %eax,(%esp)
4571b6:	eb 06                	jmp    0x4571be
4571b8:	8b 46 78             	mov    0x78(%esi),%eax
4571bb:	89 04 24             	mov    %eax,(%esp)
4571be:	8b c4                	mov    %esp,%eax
4571c0:	50                   	push   %eax
4571c1:	0f b6 cb             	movzbl %bl,%ecx
4571c4:	ba 41 b0 00 00       	mov    $0xb041,%edx
4571c9:	8b c7                	mov    %edi,%eax
4571cb:	e8 4c 3f fe ff       	call   0x43b11c
4571d0:	84 db                	test   %bl,%bl
4571d2:	74 23                	je     0x4571f7
4571d4:	83 3c 24 00          	cmpl   $0x0,(%esp)
4571d8:	75 1d                	jne    0x4571f7
4571da:	88 5e 58             	mov    %bl,0x58(%esi)
4571dd:	89 7e 60             	mov    %edi,0x60(%esi)
4571e0:	8d 44 24 04          	lea    0x4(%esp),%eax
4571e4:	50                   	push   %eax
4571e5:	e8 c6 fc fa ff       	call   0x406eb0
4571ea:	8d 54 24 04          	lea    0x4(%esp),%edx
4571ee:	8b c6                	mov    %esi,%eax
4571f0:	e8 6f 03 00 00       	call   0x457564
4571f5:	eb 19                	jmp    0x457210
4571f7:	8b c6                	mov    %esi,%eax
4571f9:	e8 c6 00 00 00       	call   0x4572c4
4571fe:	88 5e 58             	mov    %bl,0x58(%esi)
457201:	89 7e 60             	mov    %edi,0x60(%esi)
457204:	33 c9                	xor    %ecx,%ecx
457206:	8b 14 24             	mov    (%esp),%edx
457209:	8b c6                	mov    %esi,%eax
45720b:	e8 7c fe ff ff       	call   0x45708c
457210:	83 c4 2c             	add    $0x2c,%esp
457213:	5d                   	pop    %ebp
457214:	5f                   	pop    %edi
457215:	5e                   	pop    %esi
457216:	5b                   	pop    %ebx
457217:	c3                   	ret
457218:	53                   	push   %ebx
457219:	83 c4 f8             	add    $0xfffffff8,%esp
45721c:	8b d8                	mov    %eax,%ebx
45721e:	8b c3                	mov    %ebx,%eax
457220:	e8 ab fe ff ff       	call   0x4570d0
457225:	0f b6 83 89 00 00 00 	movzbl 0x89(%ebx),%eax
45722c:	2c 01                	sub    $0x1,%al
45722e:	72 0b                	jb     0x45723b
457230:	75 18                	jne    0x45724a
457232:	8b c3                	mov    %ebx,%eax
457234:	e8 17 00 00 00       	call   0x457250
457239:	eb 0f                	jmp    0x45724a
45723b:	54                   	push   %esp
45723c:	e8 6f fc fa ff       	call   0x406eb0
457241:	8b d4                	mov    %esp,%edx
457243:	8b c3                	mov    %ebx,%eax
457245:	e8 1a 03 00 00       	call   0x457564
45724a:	59                   	pop    %ecx
45724b:	5a                   	pop    %edx
45724c:	5b                   	pop    %ebx
45724d:	c3                   	ret
45724e:	8b c0                	mov    %eax,%eax
457250:	53                   	push   %ebx
457251:	56                   	push   %esi
457252:	8b d8                	mov    %eax,%ebx
457254:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
45725a:	85 f6                	test   %esi,%esi
45725c:	74 60                	je     0x4572be
45725e:	8b c6                	mov    %esi,%eax
457260:	e8 a7 a9 fe ff       	call   0x441c0c
457265:	84 c0                	test   %al,%al
457267:	74 55                	je     0x4572be
457269:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
45726f:	e8 3c a6 fe ff       	call   0x4418b0
457274:	50                   	push   %eax
457275:	e8 f6 fd fa ff       	call   0x407070
45727a:	85 c0                	test   %eax,%eax
45727c:	74 40                	je     0x4572be
45727e:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
457284:	8b 10                	mov    (%eax),%edx
457286:	ff 92 f0 00 00 00    	call   *0xf0(%edx)
45728c:	84 c0                	test   %al,%al
45728e:	74 22                	je     0x4572b2
457290:	6a 00                	push   $0x0
457292:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
457298:	e8 13 a6 fe ff       	call   0x4418b0
45729d:	50                   	push   %eax
45729e:	e8 75 ff fa ff       	call   0x407218
4572a3:	33 d2                	xor    %edx,%edx
4572a5:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
4572ab:	e8 0c 2b fe ff       	call   0x439dbc
4572b0:	eb 0c                	jmp    0x4572be
4572b2:	b1 01                	mov    $0x1,%cl
4572b4:	8b 53 74             	mov    0x74(%ebx),%edx
4572b7:	8b c3                	mov    %ebx,%eax
4572b9:	e8 ce fd ff ff       	call   0x45708c
4572be:	5e                   	pop    %esi
4572bf:	5b                   	pop    %ebx
4572c0:	c3                   	ret
4572c1:	8d 40 00             	lea    0x0(%eax),%eax
4572c4:	53                   	push   %ebx
4572c5:	8b d8                	mov    %eax,%ebx
4572c7:	83 7b 60 00          	cmpl   $0x0,0x60(%ebx)
4572cb:	74 1c                	je     0x4572e9
4572cd:	8b c3                	mov    %ebx,%eax
4572cf:	e8 7c ff ff ff       	call   0x457250
4572d4:	33 c0                	xor    %eax,%eax
4572d6:	89 43 60             	mov    %eax,0x60(%ebx)
4572d9:	c6 43 58 00          	movb   $0x0,0x58(%ebx)
4572dd:	e8 62 d6 ff ff       	call   0x454944
4572e2:	8b c3                	mov    %ebx,%eax
4572e4:	e8 e7 fd ff ff       	call   0x4570d0
4572e9:	5b                   	pop    %ebx
4572ea:	c3                   	ret
4572eb:	90                   	nop
4572ec:	51                   	push   %ecx
4572ed:	89 d1                	mov    %edx,%ecx
4572ef:	89 fa                	mov    %edi,%edx
4572f1:	89 c7                	mov    %eax,%edi
4572f3:	58                   	pop    %eax
4572f4:	f3 ae                	repz scas %es:(%edi),%al
4572f6:	89 c8                	mov    %ecx,%eax
4572f8:	89 d7                	mov    %edx,%edi
4572fa:	c3                   	ret
4572fb:	90                   	nop
4572fc:	55                   	push   %ebp
4572fd:	8b ec                	mov    %esp,%ebp
4572ff:	83 c4 d8             	add    $0xffffffd8,%esp
457302:	53                   	push   %ebx
457303:	56                   	push   %esi
457304:	57                   	push   %edi
457305:	6a 0e                	push   $0xe
457307:	a1 10 d5 46 00       	mov    0x46d510,%eax
45730c:	8b 00                	mov    (%eax),%eax
45730e:	ff d0                	call   *%eax
457310:	89 45 fc             	mov    %eax,-0x4(%ebp)
457313:	8d 45 d8             	lea    -0x28(%ebp),%eax
457316:	50                   	push   %eax
457317:	e8 8c fb fa ff       	call   0x406ea8
45731c:	50                   	push   %eax
45731d:	e8 be fb fa ff       	call   0x406ee0
457322:	85 c0                	test   %eax,%eax
457324:	0f 84 1d 01 00 00    	je     0x457447
45732a:	33 d2                	xor    %edx,%edx
45732c:	55                   	push   %ebp
45732d:	68 40 74 45 00       	push   $0x457440
457332:	64 ff 32             	push   %fs:(%edx)
457335:	64 89 22             	mov    %esp,%fs:(%edx)
457338:	8d 4d f4             	lea    -0xc(%ebp),%ecx
45733b:	8d 55 f8             	lea    -0x8(%ebp),%edx
45733e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
457341:	e8 26 de fc ff       	call   0x42516c
457346:	8b 45 f8             	mov    -0x8(%ebp),%eax
457349:	03 45 f4             	add    -0xc(%ebp),%eax
45734c:	e8 83 b9 fa ff       	call   0x402cd4
457351:	89 45 f0             	mov    %eax,-0x10(%ebp)
457354:	33 d2                	xor    %edx,%edx
457356:	55                   	push   %ebp
457357:	68 11 74 45 00       	push   $0x457411
45735c:	64 ff 32             	push   %fs:(%edx)
45735f:	64 89 22             	mov    %esp,%fs:(%edx)
457362:	8b 5d f0             	mov    -0x10(%ebp),%ebx
457365:	03 5d f8             	add    -0x8(%ebp),%ebx
457368:	53                   	push   %ebx
457369:	8b 75 f0             	mov    -0x10(%ebp),%esi
45736c:	8b ce                	mov    %esi,%ecx
45736e:	33 d2                	xor    %edx,%edx
457370:	8b 45 e4             	mov    -0x1c(%ebp),%eax
457373:	e8 b0 de fc ff       	call   0x425228
457378:	84 c0                	test   %al,%al
45737a:	74 79                	je     0x4573f5
45737c:	8b 45 f0             	mov    -0x10(%ebp),%eax
45737f:	66 83 78 0e 01       	cmpw   $0x1,0xe(%eax)
457384:	75 6f                	jne    0x4573f5
457386:	8b 46 04             	mov    0x4(%esi),%eax
457389:	8b d0                	mov    %eax,%edx
45738b:	0f b7 4e 0e          	movzwl 0xe(%esi),%ecx
45738f:	0f af d1             	imul   %ecx,%edx
457392:	83 c2 1f             	add    $0x1f,%edx
457395:	83 e2 e0             	and    $0xffffffe0,%edx
457398:	85 d2                	test   %edx,%edx
45739a:	79 03                	jns    0x45739f
45739c:	83 c2 07             	add    $0x7,%edx
45739f:	c1 fa 03             	sar    $0x3,%edx
4573a2:	89 55 ec             	mov    %edx,-0x14(%ebp)
4573a5:	8b f8                	mov    %eax,%edi
4573a7:	0f af 7d ec          	imul   -0x14(%ebp),%edi
4573ab:	03 5d f4             	add    -0xc(%ebp),%ebx
4573ae:	2b df                	sub    %edi,%ebx
4573b0:	b9 ff 00 00 00       	mov    $0xff,%ecx
4573b5:	8b d7                	mov    %edi,%edx
4573b7:	8b c3                	mov    %ebx,%eax
4573b9:	e8 2e ff ff ff       	call   0x4572ec
4573be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4573c1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4573c5:	75 1c                	jne    0x4573e3
4573c7:	8b 46 08             	mov    0x8(%esi),%eax
4573ca:	8b 56 04             	mov    0x4(%esi),%edx
4573cd:	03 d2                	add    %edx,%edx
4573cf:	3b c2                	cmp    %edx,%eax
4573d1:	7c 10                	jl     0x4573e3
4573d3:	8b c3                	mov    %ebx,%eax
4573d5:	2b c7                	sub    %edi,%eax
4573d7:	33 c9                	xor    %ecx,%ecx
4573d9:	8b d7                	mov    %edi,%edx
4573db:	e8 0c ff ff ff       	call   0x4572ec
4573e0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4573e3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4573e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4573e9:	99                   	cltd
4573ea:	f7 f9                	idiv   %ecx
4573ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
4573ef:	8b 45 e0             	mov    -0x20(%ebp),%eax
4573f2:	29 45 fc             	sub    %eax,-0x4(%ebp)
4573f5:	33 c0                	xor    %eax,%eax
4573f7:	5a                   	pop    %edx
4573f8:	59                   	pop    %ecx
4573f9:	59                   	pop    %ecx
4573fa:	64 89 10             	mov    %edx,%fs:(%eax)
4573fd:	68 18 74 45 00       	push   $0x457418
457402:	8b 55 f8             	mov    -0x8(%ebp),%edx
457405:	03 55 f4             	add    -0xc(%ebp),%edx
457408:	8b 45 f0             	mov    -0x10(%ebp),%eax
45740b:	e8 f8 b8 fa ff       	call   0x402d08
457410:	c3                   	ret
457411:	e9 72 cc fa ff       	jmp    0x404088
457416:	eb ea                	jmp    0x457402
457418:	33 c0                	xor    %eax,%eax
45741a:	5a                   	pop    %edx
45741b:	59                   	pop    %ecx
45741c:	59                   	pop    %ecx
45741d:	64 89 10             	mov    %edx,%fs:(%eax)
457420:	68 47 74 45 00       	push   $0x457447
457425:	8b 45 e8             	mov    -0x18(%ebp),%eax
457428:	85 c0                	test   %eax,%eax
45742a:	74 06                	je     0x457432
45742c:	50                   	push   %eax
45742d:	e8 5e f7 fa ff       	call   0x406b90
457432:	8b 45 e4             	mov    -0x1c(%ebp),%eax
457435:	85 c0                	test   %eax,%eax
457437:	74 06                	je     0x45743f
457439:	50                   	push   %eax
45743a:	e8 51 f7 fa ff       	call   0x406b90
45743f:	c3                   	ret
457440:	e9 43 cc fa ff       	jmp    0x404088
457445:	eb de                	jmp    0x457425
457447:	8b 45 fc             	mov    -0x4(%ebp),%eax
45744a:	5f                   	pop    %edi
45744b:	5e                   	pop    %esi
45744c:	5b                   	pop    %ebx
45744d:	8b e5                	mov    %ebp,%esp
45744f:	5d                   	pop    %ebp
457450:	c3                   	ret
457451:	8d 40 00             	lea    0x0(%eax),%eax
457454:	55                   	push   %ebp
457455:	8b ec                	mov    %esp,%ebp
457457:	53                   	push   %ebx
457458:	56                   	push   %esi
457459:	8b d8                	mov    %eax,%ebx
45745b:	85 db                	test   %ebx,%ebx
45745d:	75 06                	jne    0x457465
45745f:	8b 1d b4 15 46 00    	mov    0x4615b4,%ebx
457465:	8b 45 08             	mov    0x8(%ebp),%eax
457468:	8b 40 fc             	mov    -0x4(%eax),%eax
45746b:	8b b0 84 00 00 00    	mov    0x84(%eax),%esi
457471:	85 f6                	test   %esi,%esi
457473:	74 0e                	je     0x457483
457475:	8b 45 08             	mov    0x8(%ebp),%eax
457478:	8b c6                	mov    %esi,%eax
45747a:	e8 4d c3 fa ff       	call   0x4037cc
45747f:	3b d8                	cmp    %eax,%ebx
457481:	74 2a                	je     0x4574ad
457483:	8b 45 08             	mov    0x8(%ebp),%eax
457486:	8b 40 fc             	mov    -0x4(%eax),%eax
457489:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
45748f:	e8 60 c4 fa ff       	call   0x4038f4
457494:	8b 45 08             	mov    0x8(%ebp),%eax
457497:	8b 48 fc             	mov    -0x4(%eax),%ecx
45749a:	b2 01                	mov    $0x1,%dl
45749c:	8b c3                	mov    %ebx,%eax
45749e:	ff 50 2c             	call   *0x2c(%eax)
4574a1:	8b 55 08             	mov    0x8(%ebp),%edx
4574a4:	8b 52 fc             	mov    -0x4(%edx),%edx
4574a7:	89 82 84 00 00 00    	mov    %eax,0x84(%edx)
4574ad:	5e                   	pop    %esi
4574ae:	5b                   	pop    %ebx
4574af:	5d                   	pop    %ebp
4574b0:	c3                   	ret
4574b1:	8d 40 00             	lea    0x0(%eax),%eax
4574b4:	55                   	push   %ebp
4574b5:	8b ec                	mov    %esp,%ebp
4574b7:	83 c4 f8             	add    $0xfffffff8,%esp
4574ba:	53                   	push   %ebx
4574bb:	56                   	push   %esi
4574bc:	57                   	push   %edi
4574bd:	33 d2                	xor    %edx,%edx
4574bf:	89 55 fc             	mov    %edx,-0x4(%ebp)
4574c2:	33 d2                	xor    %edx,%edx
4574c4:	55                   	push   %ebp
4574c5:	68 52 75 45 00       	push   $0x457552
4574ca:	64 ff 32             	push   %fs:(%edx)
4574cd:	64 89 22             	mov    %esp,%fs:(%edx)
4574d0:	33 d2                	xor    %edx,%edx
4574d2:	89 55 f8             	mov    %edx,-0x8(%ebp)
4574d5:	8b d8                	mov    %eax,%ebx
4574d7:	85 db                	test   %ebx,%ebx
4574d9:	74 61                	je     0x45753c
4574db:	eb 5a                	jmp    0x457537
4574dd:	8b f3                	mov    %ebx,%esi
4574df:	eb 09                	jmp    0x4574ea
4574e1:	8b c3                	mov    %ebx,%eax
4574e3:	e8 b0 59 fb ff       	call   0x40ce98
4574e8:	8b d8                	mov    %eax,%ebx
4574ea:	0f b6 03             	movzbl (%ebx),%eax
4574ed:	84 c0                	test   %al,%al
4574ef:	74 08                	je     0x4574f9
4574f1:	2c 0a                	sub    $0xa,%al
4574f3:	74 04                	je     0x4574f9
4574f5:	2c 03                	sub    $0x3,%al
4574f7:	75 e8                	jne    0x4574e1