45a201:	51                   	push   %ecx
45a202:	56                   	push   %esi
45a203:	8b f1                	mov    %ecx,%esi
45a205:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a208:	68 10 f9 48 00       	push   $0x48f910
45a20d:	e8 1a db fa ff       	call   0x407d2c
45a212:	ff 75 08             	push   0x8(%ebp)
45a215:	8b ce                	mov    %esi,%ecx
45a217:	e8 12 fc ff ff       	call   0x459e2e
45a21c:	85 c0                	test   %eax,%eax
45a21e:	75 04                	jne    0x45a224
45a220:	32 c0                	xor    %al,%al
45a222:	eb 0b                	jmp    0x45a22f
45a224:	ff 75 0c             	push   0xc(%ebp)
45a227:	8b ce                	mov    %esi,%ecx
45a229:	50                   	push   %eax
45a22a:	e8 06 00 00 00       	call   0x45a235
45a22f:	5e                   	pop    %esi
45a230:	59                   	pop    %ecx
45a231:	5d                   	pop    %ebp
45a232:	c2 08 00             	ret    $0x8
45a235:	55                   	push   %ebp
45a236:	8b ec                	mov    %esp,%ebp
45a238:	81 ec ac 08 00 00    	sub    $0x8ac,%esp
45a23e:	53                   	push   %ebx
45a23f:	56                   	push   %esi
45a240:	8b d9                	mov    %ecx,%ebx
45a242:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45a248:	57                   	push   %edi
45a249:	e8 92 c0 fb ff       	call   0x4162e0
45a24e:	ff 33                	push   (%ebx)
45a250:	6a 28                	push   $0x28
45a252:	e8 97 76 00 00       	call   0x4618ee
45a257:	ff 33                	push   (%ebx)
45a259:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45a25f:	8b f0                	mov    %eax,%esi
45a261:	68 00 08 00 00       	push   $0x800
45a266:	e8 83 76 00 00       	call   0x4618ee
45a26b:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a26e:	8b f8                	mov    %eax,%edi
45a270:	6a 28                	push   $0x28
45a272:	56                   	push   %esi
45a273:	8d 45 d8             	lea    -0x28(%ebp),%eax
45a276:	89 4d dc             	mov    %ecx,-0x24(%ebp)
45a279:	50                   	push   %eax
45a27a:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45a280:	c7 45 d8 11 00 00 00 	movl   $0x11,-0x28(%ebp)
45a287:	c7 45 ec 00 04 00 00 	movl   $0x400,-0x14(%ebp)
45a28e:	89 7d e8             	mov    %edi,-0x18(%ebp)
45a291:	e8 36 77 00 00       	call   0x4619cc
45a296:	56                   	push   %esi
45a297:	6a 00                	push   $0x0
45a299:	68 3e 11 00 00       	push   $0x113e
45a29e:	ff 33                	push   (%ebx)
45a2a0:	ff 15 88 f6 48 00    	call   *0x48f688
45a2a6:	8b f0                	mov    %eax,%esi
45a2a8:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45a2ae:	68 00 08 00 00       	push   $0x800
45a2b3:	8d 85 58 f7 ff ff    	lea    -0x8a8(%ebp),%eax
45a2b9:	50                   	push   %eax
45a2ba:	57                   	push   %edi
45a2bb:	e8 d7 76 00 00       	call   0x461997
45a2c0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a2c3:	85 f6                	test   %esi,%esi
45a2c5:	74 10                	je     0x45a2d7
45a2c7:	8d 85 58 f7 ff ff    	lea    -0x8a8(%ebp),%eax
45a2cd:	50                   	push   %eax
45a2ce:	e8 59 da fa ff       	call   0x407d2c
45a2d3:	b3 01                	mov    $0x1,%bl
45a2d5:	eb 0c                	jmp    0x45a2e3
45a2d7:	68 10 f9 48 00       	push   $0x48f910
45a2dc:	e8 4b da fa ff       	call   0x407d2c
45a2e1:	33 db                	xor    %ebx,%ebx
45a2e3:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45a2e9:	e8 d7 bf fb ff       	call   0x4162c5
45a2ee:	5f                   	pop    %edi
45a2ef:	5e                   	pop    %esi
45a2f0:	8a c3                	mov    %bl,%al
45a2f2:	5b                   	pop    %ebx
45a2f3:	8b e5                	mov    %ebp,%esp
45a2f5:	5d                   	pop    %ebp
45a2f6:	c2 08 00             	ret    $0x8
45a2f9:	55                   	push   %ebp
45a2fa:	8b ec                	mov    %esp,%ebp
45a2fc:	56                   	push   %esi
45a2fd:	ff 75 08             	push   0x8(%ebp)
45a300:	8b f1                	mov    %ecx,%esi
45a302:	e8 27 fb ff ff       	call   0x459e2e
45a307:	85 c0                	test   %eax,%eax
45a309:	74 17                	je     0x45a322
45a30b:	68 00 f0 00 00       	push   $0xf000
45a310:	50                   	push   %eax
45a311:	68 27 11 00 00       	push   $0x1127
45a316:	ff 36                	push   (%esi)
45a318:	ff 15 88 f6 48 00    	call   *0x48f688
45a31e:	c1 e8 0c             	shr    $0xc,%eax
45a321:	48                   	dec    %eax
45a322:	5e                   	pop    %esi
45a323:	5d                   	pop    %ebp
45a324:	c2 04 00             	ret    $0x4
45a327:	55                   	push   %ebp
45a328:	8b ec                	mov    %esp,%ebp
45a32a:	51                   	push   %ecx
45a32b:	53                   	push   %ebx
45a32c:	57                   	push   %edi
45a32d:	ff 75 08             	push   0x8(%ebp)
45a330:	8b f9                	mov    %ecx,%edi
45a332:	e8 f7 fa ff ff       	call   0x459e2e
45a337:	8b d8                	mov    %eax,%ebx
45a339:	85 db                	test   %ebx,%ebx
45a33b:	75 04                	jne    0x45a341
45a33d:	32 c0                	xor    %al,%al
45a33f:	eb 25                	jmp    0x45a366
45a341:	53                   	push   %ebx
45a342:	6a 05                	push   $0x5
45a344:	68 0b 11 00 00       	push   $0x110b
45a349:	ff 37                	push   (%edi)
45a34b:	ff 15 88 f6 48 00    	call   *0x48f688
45a351:	53                   	push   %ebx
45a352:	6a 09                	push   $0x9
45a354:	68 0b 11 00 00       	push   $0x110b
45a359:	ff 37                	push   (%edi)
45a35b:	ff 15 88 f6 48 00    	call   *0x48f688
45a361:	85 c0                	test   %eax,%eax
45a363:	0f 95 c0             	setne  %al
45a366:	5f                   	pop    %edi
45a367:	5b                   	pop    %ebx
45a368:	59                   	pop    %ecx
45a369:	5d                   	pop    %ebp
45a36a:	c2 04 00             	ret    $0x4
45a36d:	e8 b5 69 fc ff       	call   0x420d27
45a372:	33 c9                	xor    %ecx,%ecx
45a374:	84 c0                	test   %al,%al
45a376:	0f 94 c1             	sete   %cl
45a379:	8a c1                	mov    %cl,%al
45a37b:	c3                   	ret
45a37c:	55                   	push   %ebp
45a37d:	8b ec                	mov    %esp,%ebp
45a37f:	56                   	push   %esi
45a380:	33 f6                	xor    %esi,%esi
45a382:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
45a386:	75 1f                	jne    0x45a3a7
45a388:	8d 45 0c             	lea    0xc(%ebp),%eax
45a38b:	50                   	push   %eax
45a38c:	68 88 13 00 00       	push   $0x1388
45a391:	6a 02                	push   $0x2
45a393:	56                   	push   %esi
45a394:	56                   	push   %esi
45a395:	56                   	push   %esi
45a396:	ff 75 08             	push   0x8(%ebp)
45a399:	ff 15 74 f6 48 00    	call   *0x48f674
45a39f:	85 c0                	test   %eax,%eax
45a3a1:	74 1d                	je     0x45a3c0
45a3a3:	6a 01                	push   $0x1
45a3a5:	eb 01                	jmp    0x45a3a8
45a3a7:	56                   	push   %esi
45a3a8:	56                   	push   %esi
45a3a9:	ff 75 08             	push   0x8(%ebp)
45a3ac:	ff 15 60 f6 48 00    	call   *0x48f660
45a3b2:	50                   	push   %eax
45a3b3:	ff 15 80 f1 48 00    	call   *0x48f180
45a3b9:	50                   	push   %eax
45a3ba:	ff 15 64 f6 48 00    	call   *0x48f664
45a3c0:	5e                   	pop    %esi
45a3c1:	5d                   	pop    %ebp
45a3c2:	c2 08 00             	ret    $0x8
45a3c5:	55                   	push   %ebp
45a3c6:	8b ec                	mov    %esp,%ebp
45a3c8:	ff 75 08             	push   0x8(%ebp)
45a3cb:	eb 06                	jmp    0x45a3d3
45a3cd:	3b 45 0c             	cmp    0xc(%ebp),%eax
45a3d0:	74 0f                	je     0x45a3e1
45a3d2:	50                   	push   %eax
45a3d3:	ff 15 80 f6 48 00    	call   *0x48f680
45a3d9:	85 c0                	test   %eax,%eax
45a3db:	75 f0                	jne    0x45a3cd
45a3dd:	5d                   	pop    %ebp
45a3de:	c2 08 00             	ret    $0x8
45a3e1:	33 c0                	xor    %eax,%eax
45a3e3:	40                   	inc    %eax
45a3e4:	eb f7                	jmp    0x45a3dd
45a3e6:	55                   	push   %ebp
45a3e7:	8b ec                	mov    %esp,%ebp
45a3e9:	53                   	push   %ebx
45a3ea:	56                   	push   %esi
45a3eb:	8b 75 14             	mov    0x14(%ebp),%esi
45a3ee:	57                   	push   %edi
45a3ef:	8b 7d 18             	mov    0x18(%ebp),%edi
45a3f2:	39 3e                	cmp    %edi,(%esi)
45a3f4:	0f 87 2c 01 00 00    	ja     0x45a526
45a3fa:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45a3fd:	8b cb                	mov    %ebx,%ecx
45a3ff:	68 10 f9 48 00       	push   $0x48f910
45a404:	e8 23 d9 fa ff       	call   0x407d2c
45a409:	8b 06                	mov    (%esi),%eax
45a40b:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a40e:	50                   	push   %eax
45a40f:	e8 0c d7 fa ff       	call   0x407b20
45a414:	6a 3a                	push   $0x3a
45a416:	59                   	pop    %ecx
45a417:	0f b7 00             	movzwl (%eax),%eax
45a41a:	66 3b c1             	cmp    %cx,%ax
45a41d:	74 31                	je     0x45a450
45a41f:	6a 3b                	push   $0x3b
45a421:	59                   	pop    %ecx
45a422:	66 3b c1             	cmp    %cx,%ax
45a425:	74 29                	je     0x45a450
45a427:	6a 5d                	push   $0x5d
45a429:	59                   	pop    %ecx
45a42a:	66 3b c1             	cmp    %cx,%ax
45a42d:	74 21                	je     0x45a450
45a42f:	8b 0e                	mov    (%esi),%ecx
45a431:	3b cf                	cmp    %edi,%ecx
45a433:	77 1b                	ja     0x45a450
45a435:	8d 41 01             	lea    0x1(%ecx),%eax
45a438:	51                   	push   %ecx
45a439:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a43c:	89 06                	mov    %eax,(%esi)
45a43e:	e8 dd d6 fa ff       	call   0x407b20
45a443:	8b cb                	mov    %ebx,%ecx
45a445:	0f b7 00             	movzwl (%eax),%eax
45a448:	50                   	push   %eax
45a449:	e8 36 d6 fa ff       	call   0x407a84
45a44e:	eb b9                	jmp    0x45a409
45a450:	ba 10 f9 48 00       	mov    $0x48f910,%edx
45a455:	8b cb                	mov    %ebx,%ecx
45a457:	e8 cb 68 fc ff       	call   0x420d27
45a45c:	84 c0                	test   %al,%al
45a45e:	0f 85 c2 00 00 00    	jne    0x45a526
45a464:	8b cb                	mov    %ebx,%ecx
45a466:	e8 44 db fa ff       	call   0x407faf
45a46b:	ff 73 04             	push   0x4(%ebx)
45a46e:	ff 33                	push   (%ebx)
45a470:	ff 15 7c f6 48 00    	call   *0x48f67c
45a476:	8b 06                	mov    (%esi),%eax
45a478:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a47b:	8b cb                	mov    %ebx,%ecx
45a47d:	50                   	push   %eax
45a47e:	e8 9d d6 fa ff       	call   0x407b20
45a483:	6a 3a                	push   $0x3a
45a485:	5a                   	pop    %edx
45a486:	0f b7 00             	movzwl (%eax),%eax
45a489:	66 3b c2             	cmp    %dx,%ax
45a48c:	74 19                	je     0x45a4a7
45a48e:	6a 3b                	push   $0x3b
45a490:	59                   	pop    %ecx
45a491:	66 3b c1             	cmp    %cx,%ax
45a494:	74 0c                	je     0x45a4a2
45a496:	6a 5d                	push   $0x5d
45a498:	59                   	pop    %ecx
45a499:	66 3b c1             	cmp    %cx,%ax
45a49c:	0f 85 84 00 00 00    	jne    0x45a526
45a4a2:	66 3b c2             	cmp    %dx,%ax
45a4a5:	75 02                	jne    0x45a4a9
45a4a7:	ff 06                	incl   (%esi)
45a4a9:	8b 4d 10             	mov    0x10(%ebp),%ecx
45a4ac:	68 10 f9 48 00       	push   $0x48f910
45a4b1:	e8 76 d8 fa ff       	call   0x407d2c
45a4b6:	eb 44                	jmp    0x45a4fc
45a4b8:	8b 06                	mov    (%esi),%eax
45a4ba:	8b cb                	mov    %ebx,%ecx
45a4bc:	50                   	push   %eax
45a4bd:	e8 5e d6 fa ff       	call   0x407b20
45a4c2:	8b cb                	mov    %ebx,%ecx
45a4c4:	0f b7 00             	movzwl (%eax),%eax
45a4c7:	89 45 08             	mov    %eax,0x8(%ebp)
45a4ca:	8b 06                	mov    (%esi),%eax
45a4cc:	40                   	inc    %eax
45a4cd:	50                   	push   %eax
45a4ce:	89 45 18             	mov    %eax,0x18(%ebp)
45a4d1:	e8 4a d6 fa ff       	call   0x407b20
45a4d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a4d9:	6a 3b                	push   $0x3b
45a4db:	5a                   	pop    %edx
45a4dc:	0f b7 00             	movzwl (%eax),%eax
45a4df:	66 3b ca             	cmp    %dx,%cx
45a4e2:	75 0a                	jne    0x45a4ee
45a4e4:	66 3b c2             	cmp    %dx,%ax
45a4e7:	75 19                	jne    0x45a502
45a4e9:	83 06 02             	addl   $0x2,(%esi)
45a4ec:	eb 05                	jmp    0x45a4f3
45a4ee:	8b 45 18             	mov    0x18(%ebp),%eax
45a4f1:	89 06                	mov    %eax,(%esi)
45a4f3:	51                   	push   %ecx
45a4f4:	8b 4d 10             	mov    0x10(%ebp),%ecx
45a4f7:	e8 88 d5 fa ff       	call   0x407a84
45a4fc:	39 3e                	cmp    %edi,(%esi)
45a4fe:	76 b8                	jbe    0x45a4b8
45a500:	eb 02                	jmp    0x45a504
45a502:	ff 06                	incl   (%esi)
45a504:	8b 3e                	mov    (%esi),%edi
45a506:	8b cb                	mov    %ebx,%ecx
45a508:	57                   	push   %edi
45a509:	e8 12 d6 fa ff       	call   0x407b20
45a50e:	0f b7 00             	movzwl (%eax),%eax
45a511:	83 f8 20             	cmp    $0x20,%eax
45a514:	74 05                	je     0x45a51b
45a516:	83 f8 09             	cmp    $0x9,%eax
45a519:	75 07                	jne    0x45a522
45a51b:	8d 47 01             	lea    0x1(%edi),%eax
45a51e:	89 06                	mov    %eax,(%esi)
45a520:	eb e2                	jmp    0x45a504
45a522:	b0 01                	mov    $0x1,%al
45a524:	eb 02                	jmp    0x45a528
45a526:	32 c0                	xor    %al,%al
45a528:	5f                   	pop    %edi
45a529:	5e                   	pop    %esi
45a52a:	5b                   	pop    %ebx
45a52b:	5d                   	pop    %ebp
45a52c:	c2 14 00             	ret    $0x14
45a52f:	55                   	push   %ebp
45a530:	8b ec                	mov    %esp,%ebp
45a532:	81 ec 04 02 00 00    	sub    $0x204,%esp
45a538:	53                   	push   %ebx
45a539:	57                   	push   %edi
45a53a:	8b d9                	mov    %ecx,%ebx
45a53c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a53f:	68 10 f9 48 00       	push   $0x48f910
45a544:	e8 e3 d7 fa ff       	call   0x407d2c
45a549:	8b 7d 08             	mov    0x8(%ebp),%edi
45a54c:	6a 01                	push   $0x1
45a54e:	57                   	push   %edi
45a54f:	e8 28 fe ff ff       	call   0x45a37c
45a554:	ff 15 68 f6 48 00    	call   *0x48f668
45a55a:	89 83 d8 00 00 00    	mov    %eax,0xd8(%ebx)
45a560:	85 c0                	test   %eax,%eax
45a562:	0f 84 9b 00 00 00    	je     0x45a603
45a568:	57                   	push   %edi
45a569:	50                   	push   %eax
45a56a:	e8 56 fe ff ff       	call   0x45a3c5
45a56f:	85 c0                	test   %eax,%eax
45a571:	0f 84 8c 00 00 00    	je     0x45a603
45a577:	56                   	push   %esi
45a578:	ff b3 d8 00 00 00    	push   0xd8(%ebx)
45a57e:	8b cb                	mov    %ebx,%ecx
45a580:	e8 5e 08 00 00       	call   0x45ade3
45a585:	68 00 01 00 00       	push   $0x100
45a58a:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
45a590:	89 bb d4 00 00 00    	mov    %edi,0xd4(%ebx)
45a596:	50                   	push   %eax
45a597:	ff b3 d8 00 00 00    	push   0xd8(%ebx)
45a59d:	ff 15 48 f7 48 00    	call   *0x48f748
45a5a3:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
45a5a9:	8d b3 8c 00 00 00    	lea    0x8c(%ebx),%esi
45a5af:	50                   	push   %eax
45a5b0:	8b ce                	mov    %esi,%ecx
45a5b2:	e8 75 d7 fa ff       	call   0x407d2c
45a5b7:	83 a3 24 01 00 00 00 	andl   $0x0,0x124(%ebx)
45a5be:	53                   	push   %ebx
45a5bf:	68 15 a6 45 00       	push   $0x45a615