45b236:	8b c3                	mov    %ebx,%eax
45b238:	e8 1f 62 fe ff       	call   0x44145c
45b23d:	50                   	push   %eax
45b23e:	e8 c5 b4 fa ff       	call   0x406708
45b243:	85 c0                	test   %eax,%eax
45b245:	75 0b                	jne    0x45b252
45b247:	55                   	push   %ebp
45b248:	b0 01                	mov    $0x1,%al
45b24a:	e8 35 ff ff ff       	call   0x45b184
45b24f:	59                   	pop    %ecx
45b250:	eb 0d                	jmp    0x45b25f
45b252:	47                   	inc    %edi
45b253:	4e                   	dec    %esi
45b254:	75 b1                	jne    0x45b207
45b256:	55                   	push   %ebp
45b257:	33 c0                	xor    %eax,%eax
45b259:	e8 26 ff ff ff       	call   0x45b184
45b25e:	59                   	pop    %ecx
45b25f:	5f                   	pop    %edi
45b260:	5e                   	pop    %esi
45b261:	5b                   	pop    %ebx
45b262:	59                   	pop    %ecx
45b263:	5d                   	pop    %ebp
45b264:	c3                   	ret
45b265:	8d 40 00             	lea    0x0(%eax),%eax
45b268:	53                   	push   %ebx
45b269:	56                   	push   %esi
45b26a:	8b f0                	mov    %eax,%esi
45b26c:	33 db                	xor    %ebx,%ebx
45b26e:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
45b272:	75 0d                	jne    0x45b281
45b274:	8d 46 4c             	lea    0x4c(%esi),%eax
45b277:	e8 e0 a3 fa ff       	call   0x40565c
45b27c:	e8 77 9e fc ff       	call   0x4250f8
45b281:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
45b285:	74 02                	je     0x45b289
45b287:	b3 01                	mov    $0x1,%bl
45b289:	8b c3                	mov    %ebx,%eax
45b28b:	5e                   	pop    %esi
45b28c:	5b                   	pop    %ebx
45b28d:	c3                   	ret
45b28e:	8b c0                	mov    %eax,%eax
45b290:	53                   	push   %ebx
45b291:	56                   	push   %esi
45b292:	57                   	push   %edi
45b293:	8b d9                	mov    %ecx,%ebx
45b295:	8b f2                	mov    %edx,%esi
45b297:	8b f8                	mov    %eax,%edi
45b299:	8b c7                	mov    %edi,%eax
45b29b:	e8 34 00 00 00       	call   0x45b2d4
45b2a0:	68 c0 8f 45 00       	push   $0x458fc0
45b2a5:	56                   	push   %esi
45b2a6:	6a 00                	push   $0x0
45b2a8:	6a 00                	push   $0x0
45b2aa:	e8 d9 b5 fa ff       	call   0x406888
45b2af:	66 89 87 8a 00 00 00 	mov    %ax,0x8a(%edi)
45b2b6:	88 9f 89 00 00 00    	mov    %bl,0x89(%edi)
45b2bc:	66 83 bf 8a 00 00 00 	cmpw   $0x0,0x8a(%edi)
45b2c3:	00
45b2c4:	75 07                	jne    0x45b2cd
45b2c6:	8b c7                	mov    %edi,%eax
45b2c8:	e8 bb 01 00 00       	call   0x45b488
45b2cd:	5f                   	pop    %edi
45b2ce:	5e                   	pop    %esi
45b2cf:	5b                   	pop    %ebx
45b2d0:	c3                   	ret
45b2d1:	8d 40 00             	lea    0x0(%eax),%eax
45b2d4:	53                   	push   %ebx
45b2d5:	8b d8                	mov    %eax,%ebx
45b2d7:	66 8b 83 8a 00 00 00 	mov    0x8a(%ebx),%ax
45b2de:	66 85 c0             	test   %ax,%ax
45b2e1:	74 14                	je     0x45b2f7
45b2e3:	0f b7 c0             	movzwl %ax,%eax
45b2e6:	50                   	push   %eax
45b2e7:	6a 00                	push   $0x0
45b2e9:	e8 5a b4 fa ff       	call   0x406748
45b2ee:	66 c7 83 8a 00 00 00 	movw   $0x0,0x8a(%ebx)
45b2f5:	00 00
45b2f7:	5b                   	pop    %ebx
45b2f8:	c3                   	ret
45b2f9:	8d 40 00             	lea    0x0(%eax),%eax
45b2fc:	53                   	push   %ebx
45b2fd:	56                   	push   %esi
45b2fe:	57                   	push   %edi
45b2ff:	55                   	push   %ebp
45b300:	83 c4 e0             	add    $0xffffffe0,%esp
45b303:	8b e9                	mov    %ecx,%ebp
45b305:	8b fa                	mov    %edx,%edi
45b307:	8b f0                	mov    %eax,%esi
45b309:	8d 54 24 18          	lea    0x18(%esp),%edx
45b30d:	8b 45 08             	mov    0x8(%ebp),%eax
45b310:	e8 6f b6 fa ff       	call   0x406984
45b315:	8d 54 24 18          	lea    0x18(%esp),%edx
45b319:	8d 4c 24 10          	lea    0x10(%esp),%ecx
45b31d:	8b c7                	mov    %edi,%eax
45b31f:	e8 74 f4 fd ff       	call   0x43a798
45b324:	8d 44 24 10          	lea    0x10(%esp),%eax
45b328:	b2 01                	mov    $0x1,%dl
45b32a:	e8 fd e1 fd ff       	call   0x43952c
45b32f:	e8 6c dc ff ff       	call   0x458fa0
45b334:	8b d8                	mov    %eax,%ebx
45b336:	85 db                	test   %ebx,%ebx
45b338:	74 09                	je     0x45b343
45b33a:	80 bb 99 00 00 00 00 	cmpb   $0x0,0x99(%ebx)
45b341:	75 0c                	jne    0x45b34f
45b343:	8b c6                	mov    %esi,%eax
45b345:	e8 3e 01 00 00       	call   0x45b488
45b34a:	e9 b4 00 00 00       	jmp    0x45b403
45b34f:	3b 5e 60             	cmp    0x60(%esi),%ebx
45b352:	75 30                	jne    0x45b384
45b354:	8d 54 24 18          	lea    0x18(%esp),%edx
45b358:	8b 45 08             	mov    0x8(%ebp),%eax
45b35b:	e8 24 b6 fa ff       	call   0x406984
45b360:	8d 54 24 18          	lea    0x18(%esp),%edx
45b364:	8d 4c 24 10          	lea    0x10(%esp),%ecx
45b368:	8b c7                	mov    %edi,%eax
45b36a:	e8 29 f4 fd ff       	call   0x43a798
45b36f:	ff 74 24 14          	push   0x14(%esp)
45b373:	ff 74 24 14          	push   0x14(%esp)
45b377:	8d 46 64             	lea    0x64(%esi),%eax
45b37a:	50                   	push   %eax
45b37b:	e8 38 b4 fa ff       	call   0x4067b8
45b380:	85 c0                	test   %eax,%eax
45b382:	75 7f                	jne    0x45b403
45b384:	8a 46 58             	mov    0x58(%esi),%al
45b387:	88 44 24 04          	mov    %al,0x4(%esp)
45b38b:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
45b390:	74 0b                	je     0x45b39d
45b392:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
45b398:	89 04 24             	mov    %eax,(%esp)
45b39b:	eb 06                	jmp    0x45b3a3
45b39d:	8b 46 78             	mov    0x78(%esi),%eax
45b3a0:	89 04 24             	mov    %eax,(%esp)
45b3a3:	8b c4                	mov    %esp,%eax
45b3a5:	50                   	push   %eax
45b3a6:	33 c9                	xor    %ecx,%ecx
45b3a8:	8a 4c 24 08          	mov    0x8(%esp),%cl
45b3ac:	ba 41 b0 00 00       	mov    $0xb041,%edx
45b3b1:	8b c3                	mov    %ebx,%eax
45b3b3:	e8 70 0a fe ff       	call   0x43be28
45b3b8:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
45b3bd:	74 27                	je     0x45b3e6
45b3bf:	83 3c 24 00          	cmpl   $0x0,(%esp)
45b3c3:	75 21                	jne    0x45b3e6
45b3c5:	8a 44 24 04          	mov    0x4(%esp),%al
45b3c9:	88 46 58             	mov    %al,0x58(%esi)
45b3cc:	89 5e 60             	mov    %ebx,0x60(%esi)
45b3cf:	8d 44 24 05          	lea    0x5(%esp),%eax
45b3d3:	50                   	push   %eax
45b3d4:	e8 c7 b1 fa ff       	call   0x4065a0
45b3d9:	8d 54 24 05          	lea    0x5(%esp),%edx
45b3dd:	8b c6                	mov    %esi,%eax
45b3df:	e8 3c 03 00 00       	call   0x45b720
45b3e4:	eb 1d                	jmp    0x45b403
45b3e6:	8b c6                	mov    %esi,%eax
45b3e8:	e8 9b 00 00 00       	call   0x45b488
45b3ed:	8a 44 24 04          	mov    0x4(%esp),%al
45b3f1:	88 46 58             	mov    %al,0x58(%esi)
45b3f4:	89 5e 60             	mov    %ebx,0x60(%esi)
45b3f7:	33 c9                	xor    %ecx,%ecx
45b3f9:	8b 14 24             	mov    (%esp),%edx
45b3fc:	8b c6                	mov    %esi,%eax
45b3fe:	e8 8d fe ff ff       	call   0x45b290
45b403:	83 c4 20             	add    $0x20,%esp
45b406:	5d                   	pop    %ebp
45b407:	5f                   	pop    %edi
45b408:	5e                   	pop    %esi
45b409:	5b                   	pop    %ebx
45b40a:	c3                   	ret
45b40b:	90                   	nop
45b40c:	53                   	push   %ebx
45b40d:	83 c4 f8             	add    $0xfffffff8,%esp
45b410:	8b d8                	mov    %eax,%ebx
45b412:	8b c3                	mov    %ebx,%eax
45b414:	e8 bb fe ff ff       	call   0x45b2d4
45b419:	8a 83 89 00 00 00    	mov    0x89(%ebx),%al
45b41f:	2c 01                	sub    $0x1,%al
45b421:	72 0b                	jb     0x45b42e
45b423:	75 18                	jne    0x45b43d
45b425:	8b c3                	mov    %ebx,%eax
45b427:	e8 18 00 00 00       	call   0x45b444
45b42c:	eb 0f                	jmp    0x45b43d
45b42e:	54                   	push   %esp
45b42f:	e8 6c b1 fa ff       	call   0x4065a0
45b434:	8b d4                	mov    %esp,%edx
45b436:	8b c3                	mov    %ebx,%eax
45b438:	e8 e3 02 00 00       	call   0x45b720
45b43d:	59                   	pop    %ecx
45b43e:	5a                   	pop    %edx
45b43f:	5b                   	pop    %ebx
45b440:	c3                   	ret
45b441:	8d 40 00             	lea    0x0(%eax),%eax
45b444:	53                   	push   %ebx
45b445:	56                   	push   %esi
45b446:	8b d8                	mov    %eax,%ebx
45b448:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
45b44e:	85 f6                	test   %esi,%esi
45b450:	74 33                	je     0x45b485
45b452:	8b c6                	mov    %esi,%eax
45b454:	e8 07 63 fe ff       	call   0x441760
45b459:	84 c0                	test   %al,%al
45b45b:	74 28                	je     0x45b485
45b45d:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
45b463:	e8 f4 5f fe ff       	call   0x44145c
45b468:	50                   	push   %eax
45b469:	e8 ca b2 fa ff       	call   0x406738
45b46e:	85 c0                	test   %eax,%eax
45b470:	74 13                	je     0x45b485
45b472:	6a 00                	push   $0x0
45b474:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
45b47a:	e8 dd 5f fe ff       	call   0x44145c
45b47f:	50                   	push   %eax
45b480:	e8 43 b4 fa ff       	call   0x4068c8
45b485:	5e                   	pop    %esi
45b486:	5b                   	pop    %ebx
45b487:	c3                   	ret
45b488:	53                   	push   %ebx
45b489:	8b d8                	mov    %eax,%ebx
45b48b:	83 7b 60 00          	cmpl   $0x0,0x60(%ebx)
45b48f:	74 1c                	je     0x45b4ad
45b491:	8b c3                	mov    %ebx,%eax
45b493:	e8 ac ff ff ff       	call   0x45b444
45b498:	33 c0                	xor    %eax,%eax
45b49a:	89 43 60             	mov    %eax,0x60(%ebx)
45b49d:	c6 43 58 00          	movb   $0x0,0x58(%ebx)
45b4a1:	e8 82 dc ff ff       	call   0x459128
45b4a6:	8b c3                	mov    %ebx,%eax
45b4a8:	e8 27 fe ff ff       	call   0x45b2d4
45b4ad:	5b                   	pop    %ebx
45b4ae:	c3                   	ret
45b4af:	90                   	nop
45b4b0:	51                   	push   %ecx
45b4b1:	89 d1                	mov    %edx,%ecx
45b4b3:	89 fa                	mov    %edi,%edx
45b4b5:	89 c7                	mov    %eax,%edi
45b4b7:	58                   	pop    %eax
45b4b8:	f3 ae                	repz scas %es:(%edi),%al
45b4ba:	89 c8                	mov    %ecx,%eax
45b4bc:	89 d7                	mov    %edx,%edi
45b4be:	c3                   	ret
45b4bf:	90                   	nop
45b4c0:	55                   	push   %ebp
45b4c1:	8b ec                	mov    %esp,%ebp
45b4c3:	83 c4 d8             	add    $0xffffffd8,%esp
45b4c6:	53                   	push   %ebx
45b4c7:	56                   	push   %esi
45b4c8:	57                   	push   %edi
45b4c9:	6a 0e                	push   $0xe
45b4cb:	a1 b4 7d 46 00       	mov    0x467db4,%eax
45b4d0:	8b 00                	mov    (%eax),%eax
45b4d2:	ff d0                	call   *%eax
45b4d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b4d7:	8d 45 d8             	lea    -0x28(%ebp),%eax
45b4da:	50                   	push   %eax
45b4db:	e8 b8 b0 fa ff       	call   0x406598
45b4e0:	50                   	push   %eax
45b4e1:	e8 f2 b0 fa ff       	call   0x4065d8
45b4e6:	85 c0                	test   %eax,%eax
45b4e8:	0f 84 1b 01 00 00    	je     0x45b609
45b4ee:	33 d2                	xor    %edx,%edx
45b4f0:	55                   	push   %ebp
45b4f1:	68 02 b6 45 00       	push   $0x45b602
45b4f6:	64 ff 32             	push   %fs:(%edx)
45b4f9:	64 89 22             	mov    %esp,%fs:(%edx)
45b4fc:	8d 4d f4             	lea    -0xc(%ebp),%ecx
45b4ff:	8d 55 f8             	lea    -0x8(%ebp),%edx
45b502:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45b505:	e8 c2 37 fc ff       	call   0x41eccc
45b50a:	8b 45 f8             	mov    -0x8(%ebp),%eax
45b50d:	03 45 f4             	add    -0xc(%ebp),%eax
45b510:	e8 e7 c5 fa ff       	call   0x407afc
45b515:	89 45 f0             	mov    %eax,-0x10(%ebp)
45b518:	33 d2                	xor    %edx,%edx
45b51a:	55                   	push   %ebp
45b51b:	68 d3 b5 45 00       	push   $0x45b5d3
45b520:	64 ff 32             	push   %fs:(%edx)
45b523:	64 89 22             	mov    %esp,%fs:(%edx)
45b526:	8b 5d f0             	mov    -0x10(%ebp),%ebx
45b529:	03 5d f8             	add    -0x8(%ebp),%ebx
45b52c:	53                   	push   %ebx
45b52d:	8b 75 f0             	mov    -0x10(%ebp),%esi
45b530:	8b ce                	mov    %esi,%ecx
45b532:	33 d2                	xor    %edx,%edx
45b534:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45b537:	e8 48 38 fc ff       	call   0x41ed84
45b53c:	84 c0                	test   %al,%al
45b53e:	74 77                	je     0x45b5b7
45b540:	8b 45 f0             	mov    -0x10(%ebp),%eax
45b543:	66 83 78 0e 01       	cmpw   $0x1,0xe(%eax)
45b548:	75 6d                	jne    0x45b5b7
45b54a:	8b 46 04             	mov    0x4(%esi),%eax
45b54d:	8b d0                	mov    %eax,%edx
45b54f:	0f b7 4e 0e          	movzwl 0xe(%esi),%ecx
45b553:	0f af d1             	imul   %ecx,%edx
45b556:	83 c2 1f             	add    $0x1f,%edx
45b559:	83 e2 e0             	and    $0xffffffe0,%edx
45b55c:	85 d2                	test   %edx,%edx
45b55e:	79 03                	jns    0x45b563
45b560:	83 c2 07             	add    $0x7,%edx
45b563:	c1 fa 03             	sar    $0x3,%edx
45b566:	89 55 ec             	mov    %edx,-0x14(%ebp)
45b569:	8b f8                	mov    %eax,%edi
45b56b:	0f af 7d ec          	imul   -0x14(%ebp),%edi
45b56f:	03 5d f4             	add    -0xc(%ebp),%ebx
45b572:	2b df                	sub    %edi,%ebx
45b574:	b9 ff 00 00 00       	mov    $0xff,%ecx
45b579:	8b d7                	mov    %edi,%edx
45b57b:	8b c3                	mov    %ebx,%eax
45b57d:	e8 2e ff ff ff       	call   0x45b4b0
45b582:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b585:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45b589:	75 1c                	jne    0x45b5a7
45b58b:	8b 46 08             	mov    0x8(%esi),%eax
45b58e:	8b 56 04             	mov    0x4(%esi),%edx
45b591:	03 d2                	add    %edx,%edx
45b593:	3b c2                	cmp    %edx,%eax
45b595:	7c 10                	jl     0x45b5a7
45b597:	8b c3                	mov    %ebx,%eax
45b599:	2b c7                	sub    %edi,%eax
45b59b:	33 c9                	xor    %ecx,%ecx
45b59d:	8b d7                	mov    %edi,%edx
45b59f:	e8 0c ff ff ff       	call   0x45b4b0
45b5a4:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b5a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b5aa:	99                   	cltd
45b5ab:	f7 7d ec             	idivl  -0x14(%ebp)
45b5ae:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b5b1:	8b 45 e0             	mov    -0x20(%ebp),%eax
45b5b4:	29 45 fc             	sub    %eax,-0x4(%ebp)
45b5b7:	33 c0                	xor    %eax,%eax
45b5b9:	5a                   	pop    %edx
45b5ba:	59                   	pop    %ecx
45b5bb:	59                   	pop    %ecx
45b5bc:	64 89 10             	mov    %edx,%fs:(%eax)
45b5bf:	68 da b5 45 00       	push   $0x45b5da
45b5c4:	8b 55 f8             	mov    -0x8(%ebp),%edx
45b5c7:	03 55 f4             	add    -0xc(%ebp),%edx
45b5ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
45b5cd:	e8 0a 71 fa ff       	call   0x4026dc
45b5d2:	c3                   	ret
45b5d3:	e9 e8 83 fa ff       	jmp    0x4039c0
45b5d8:	eb ea                	jmp    0x45b5c4
45b5da:	33 c0                	xor    %eax,%eax
45b5dc:	5a                   	pop    %edx
45b5dd:	59                   	pop    %ecx
45b5de:	59                   	pop    %ecx
45b5df:	64 89 10             	mov    %edx,%fs:(%eax)
45b5e2:	68 09 b6 45 00       	push   $0x45b609
45b5e7:	8b 45 e8             	mov    -0x18(%ebp),%eax
45b5ea:	85 c0                	test   %eax,%eax