45a26b:	8b f9                	mov    %ecx,%edi
45a26d:	8b 45 08             	mov    0x8(%ebp),%eax
45a270:	8b 4d 14             	mov    0x14(%ebp),%ecx
45a273:	8b 5d 10             	mov    0x10(%ebp),%ebx
45a276:	8b 75 0c             	mov    0xc(%ebp),%esi
45a279:	89 45 ec             	mov    %eax,-0x14(%ebp)
45a27c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45a27f:	89 07                	mov    %eax,(%edi)
45a281:	8b c6                	mov    %esi,%eax
45a283:	89 4f 0c             	mov    %ecx,0xc(%edi)
45a286:	b9 14 6d 4b 00       	mov    $0x4b6d14,%ecx
45a28b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45a28e:	89 77 04             	mov    %esi,0x4(%edi)
45a291:	89 5f 08             	mov    %ebx,0x8(%edi)
45a294:	66 c7 47 10 00 00    	movw   $0x0,0x10(%edi)
45a29a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
45a2a0:	8a 10                	mov    (%eax),%dl
45a2a2:	3a 11                	cmp    (%ecx),%dl
45a2a4:	75 1a                	jne    0x45a2c0
45a2a6:	84 d2                	test   %dl,%dl
45a2a8:	74 12                	je     0x45a2bc
45a2aa:	8a 50 01             	mov    0x1(%eax),%dl
45a2ad:	3a 51 01             	cmp    0x1(%ecx),%dl
45a2b0:	75 0e                	jne    0x45a2c0
45a2b2:	83 c0 02             	add    $0x2,%eax
45a2b5:	83 c1 02             	add    $0x2,%ecx
45a2b8:	84 d2                	test   %dl,%dl
45a2ba:	75 e4                	jne    0x45a2a0
45a2bc:	33 c0                	xor    %eax,%eax
45a2be:	eb 05                	jmp    0x45a2c5
45a2c0:	1b c0                	sbb    %eax,%eax
45a2c2:	83 c8 01             	or     $0x1,%eax
45a2c5:	85 c0                	test   %eax,%eax
45a2c7:	0f 85 e9 00 00 00    	jne    0x45a3b6
45a2cd:	8d 43 04             	lea    0x4(%ebx),%eax
45a2d0:	66 c7 47 10 01 01    	movw   $0x101,0x10(%edi)
45a2d6:	50                   	push   %eax
45a2d7:	68 5c 55 4c 00       	push   $0x4c555c
45a2dc:	e8 8d 0e 01 00       	call   0x46b16e
45a2e1:	83 c4 08             	add    $0x8,%esp
45a2e4:	85 c0                	test   %eax,%eax
45a2e6:	0f 85 a0 01 00 00    	jne    0x45a48c
45a2ec:	68 94 5f 4c 00       	push   $0x4c5f94
45a2f1:	68 ec 6d 4c 00       	push   $0x4c6dec
45a2f6:	e8 73 0e 01 00       	call   0x46b16e
45a2fb:	83 c4 08             	add    $0x8,%esp
45a2fe:	85 c0                	test   %eax,%eax
45a300:	74 12                	je     0x45a314
45a302:	ff 75 f0             	push   -0x10(%ebp)
45a305:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45a308:	53                   	push   %ebx
45a309:	ff 77 04             	push   0x4(%edi)
45a30c:	83 c1 34             	add    $0x34,%ecx
45a30f:	e8 cc c8 ff ff       	call   0x456be0
45a314:	68 d8 7f 4c 00       	push   $0x4c7fd8
45a319:	68 ec 6d 4c 00       	push   $0x4c6dec
45a31e:	e8 87 0e 01 00       	call   0x46b1aa
45a323:	8b 5f 0c             	mov    0xc(%edi),%ebx
45a326:	83 c4 08             	add    $0x8,%esp
45a329:	89 45 e8             	mov    %eax,-0x18(%ebp)
45a32c:	8b 53 14             	mov    0x14(%ebx),%edx
45a32f:	8b c2                	mov    %edx,%eax
45a331:	8b 4b 10             	mov    0x10(%ebx),%ecx
45a334:	2b c1                	sub    %ecx,%eax
45a336:	83 f8 0c             	cmp    $0xc,%eax
45a339:	72 28                	jb     0x45a363
45a33b:	8d 41 0c             	lea    0xc(%ecx),%eax
45a33e:	89 43 10             	mov    %eax,0x10(%ebx)
45a341:	8b c3                	mov    %ebx,%eax
45a343:	83 fa 10             	cmp    $0x10,%edx
45a346:	72 02                	jb     0x45a34a
45a348:	8b 03                	mov    (%ebx),%eax
45a34a:	6a 0c                	push   $0xc
45a34c:	8d 34 08             	lea    (%eax,%ecx,1),%esi
45a34f:	68 e0 6e 4b 00       	push   $0x4b6ee0
45a354:	56                   	push   %esi
45a355:	e8 c6 12 01 00       	call   0x46b620
45a35a:	83 c4 0c             	add    $0xc,%esp
45a35d:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
45a361:	eb 19                	jmp    0x45a37c
45a363:	6a 0c                	push   $0xc
45a365:	68 e0 6e 4b 00       	push   $0x4b6ee0
45a36a:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
45a36e:	8b cb                	mov    %ebx,%ecx
45a370:	ff 75 e4             	push   -0x1c(%ebp)
45a373:	6a 0c                	push   $0xc
45a375:	e8 86 7a fb ff       	call   0x411e00
45a37a:	8b d8                	mov    %eax,%ebx
45a37c:	ff 75 e8             	push   -0x18(%ebp)
45a37f:	8b cb                	mov    %ebx,%ecx
45a381:	e8 1a 62 fb ff       	call   0x4105a0
45a386:	8b c8                	mov    %eax,%ecx
45a388:	8b 51 10             	mov    0x10(%ecx),%edx
45a38b:	8b 71 14             	mov    0x14(%ecx),%esi
45a38e:	3b d6                	cmp    %esi,%edx
45a390:	73 15                	jae    0x45a3a7
45a392:	8d 42 01             	lea    0x1(%edx),%eax
45a395:	89 41 10             	mov    %eax,0x10(%ecx)
45a398:	83 fe 10             	cmp    $0x10,%esi
45a39b:	72 02                	jb     0x45a39f
45a39d:	8b 09                	mov    (%ecx),%ecx
45a39f:	66 c7 04 11 3b 00    	movw   $0x3b,(%ecx,%edx,1)
45a3a5:	eb 0f                	jmp    0x45a3b6
45a3a7:	6a 3b                	push   $0x3b
45a3a9:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
45a3ad:	ff 75 e8             	push   -0x18(%ebp)
45a3b0:	51                   	push   %ecx
45a3b1:	e8 0a 79 fb ff       	call   0x411cc0
45a3b6:	80 7f 10 00          	cmpb   $0x0,0x10(%edi)
45a3ba:	0f 85 b6 00 00 00    	jne    0x45a476
45a3c0:	6a 0c                	push   $0xc
45a3c2:	68 e0 6e 4b 00       	push   $0x4b6ee0
45a3c7:	ff 77 04             	push   0x4(%edi)
45a3ca:	e8 51 fa 01 00       	call   0x479e20
45a3cf:	83 c4 0c             	add    $0xc,%esp
45a3d2:	85 c0                	test   %eax,%eax
45a3d4:	75 6d                	jne    0x45a443
45a3d6:	68 d8 7f 4c 00       	push   $0x4c7fd8
45a3db:	68 ec 6d 4c 00       	push   $0x4c6dec
45a3e0:	e8 c5 0d 01 00       	call   0x46b1aa
45a3e5:	8b 5f 04             	mov    0x4(%edi),%ebx
45a3e8:	83 c4 08             	add    $0x8,%esp
45a3eb:	8d 4b 0c             	lea    0xc(%ebx),%ecx
45a3ee:	66 90                	xchg   %ax,%ax
45a3f0:	8a 11                	mov    (%ecx),%dl
45a3f2:	3a 10                	cmp    (%eax),%dl
45a3f4:	75 1a                	jne    0x45a410
45a3f6:	84 d2                	test   %dl,%dl
45a3f8:	74 12                	je     0x45a40c
45a3fa:	8a 51 01             	mov    0x1(%ecx),%dl
45a3fd:	3a 50 01             	cmp    0x1(%eax),%dl
45a400:	75 0e                	jne    0x45a410
45a402:	83 c1 02             	add    $0x2,%ecx
45a405:	83 c0 02             	add    $0x2,%eax
45a408:	84 d2                	test   %dl,%dl
45a40a:	75 e4                	jne    0x45a3f0
45a40c:	33 c0                	xor    %eax,%eax
45a40e:	eb 05                	jmp    0x45a415
45a410:	1b c0                	sbb    %eax,%eax
45a412:	83 c8 01             	or     $0x1,%eax
45a415:	85 c0                	test   %eax,%eax
45a417:	75 2a                	jne    0x45a443
45a419:	8b 77 08             	mov    0x8(%edi),%esi
45a41c:	8d 46 04             	lea    0x4(%esi),%eax
45a41f:	50                   	push   %eax
45a420:	68 cc 55 4c 00       	push   $0x4c55cc
45a425:	e8 44 0d 01 00       	call   0x46b16e
45a42a:	83 c4 08             	add    $0x8,%esp
45a42d:	85 c0                	test   %eax,%eax
45a42f:	0f 85 87 00 00 00    	jne    0x45a4bc
45a435:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45a438:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a43b:	89 01                	mov    %eax,(%ecx)
45a43d:	c6 47 10 01          	movb   $0x1,0x10(%edi)
45a441:	eb 33                	jmp    0x45a476
45a443:	80 7f 10 00          	cmpb   $0x0,0x10(%edi)
45a447:	75 2d                	jne    0x45a476
45a449:	68 94 5f 4c 00       	push   $0x4c5f94
45a44e:	68 ec 6d 4c 00       	push   $0x4c6dec
45a453:	e8 16 0d 01 00       	call   0x46b16e
45a458:	83 c4 08             	add    $0x8,%esp
45a45b:	85 c0                	test   %eax,%eax
45a45d:	74 17                	je     0x45a476
45a45f:	ff 75 f0             	push   -0x10(%ebp)
45a462:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45a465:	ff 75 e0             	push   -0x20(%ebp)
45a468:	ff 77 04             	push   0x4(%edi)
45a46b:	8d 49 34             	lea    0x34(%ecx),%ecx
45a46e:	e8 6d c7 ff ff       	call   0x456be0
45a473:	88 47 10             	mov    %al,0x10(%edi)
45a476:	8b c7                	mov    %edi,%eax
45a478:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45a47b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45a482:	59                   	pop    %ecx
45a483:	5f                   	pop    %edi
45a484:	5e                   	pop    %esi
45a485:	5b                   	pop    %ebx
45a486:	8b e5                	mov    %ebp,%esp
45a488:	5d                   	pop    %ebp
45a489:	c2 14 00             	ret    $0x14
45a48c:	56                   	push   %esi
45a48d:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45a490:	e8 ab 0b fb ff       	call   0x40b040
45a495:	53                   	push   %ebx
45a496:	68 58 55 4c 00       	push   $0x4c5558
45a49b:	8d 45 c8             	lea    -0x38(%ebp),%eax
45a49e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45a4a5:	50                   	push   %eax
45a4a6:	8d 4d 98             	lea    -0x68(%ebp),%ecx
45a4a9:	e8 42 1b fb ff       	call   0x40bff0
45a4ae:	68 a0 1e 4c 00       	push   $0x4c1ea0
45a4b3:	8d 45 98             	lea    -0x68(%ebp),%eax
45a4b6:	50                   	push   %eax
45a4b7:	e8 f2 10 01 00       	call   0x46b5ae
45a4bc:	53                   	push   %ebx
45a4bd:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45a4c0:	e8 7b 0b fb ff       	call   0x40b040
45a4c5:	56                   	push   %esi
45a4c6:	68 c8 55 4c 00       	push   $0x4c55c8
45a4cb:	8d 45 c8             	lea    -0x38(%ebp),%eax
45a4ce:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45a4d5:	50                   	push   %eax
45a4d6:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
45a4dc:	e8 0f 1b fb ff       	call   0x40bff0
45a4e1:	68 a0 1e 4c 00       	push   $0x4c1ea0
45a4e6:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
45a4ec:	50                   	push   %eax
45a4ed:	e8 bc 10 01 00       	call   0x46b5ae
45a4f2:	cc                   	int3
45a4f3:	cc                   	int3
45a4f4:	cc                   	int3
45a4f5:	cc                   	int3
45a4f6:	cc                   	int3
45a4f7:	cc                   	int3
45a4f8:	cc                   	int3
45a4f9:	cc                   	int3
45a4fa:	cc                   	int3
45a4fb:	cc                   	int3
45a4fc:	cc                   	int3
45a4fd:	cc                   	int3
45a4fe:	cc                   	int3
45a4ff:	cc                   	int3
45a500:	53                   	push   %ebx
45a501:	8b dc                	mov    %esp,%ebx
45a503:	83 ec 08             	sub    $0x8,%esp
45a506:	83 e4 f8             	and    $0xfffffff8,%esp
45a509:	83 c4 04             	add    $0x4,%esp
45a50c:	55                   	push   %ebp
45a50d:	8b 6b 04             	mov    0x4(%ebx),%ebp
45a510:	89 6c 24 04          	mov    %ebp,0x4(%esp)
45a514:	8b ec                	mov    %esp,%ebp
45a516:	6a ff                	push   $0xffffffff
45a518:	68 05 bf 49 00       	push   $0x49bf05
45a51d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45a523:	50                   	push   %eax
45a524:	53                   	push   %ebx
45a525:	83 ec 48             	sub    $0x48,%esp
45a528:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45a52d:	33 c5                	xor    %ebp,%eax
45a52f:	89 45 ec             	mov    %eax,-0x14(%ebp)
45a532:	56                   	push   %esi
45a533:	57                   	push   %edi
45a534:	50                   	push   %eax
45a535:	8d 45 f4             	lea    -0xc(%ebp),%eax
45a538:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45a53e:	8b f9                	mov    %ecx,%edi
45a540:	8b 43 08             	mov    0x8(%ebx),%eax
45a543:	8d 4d bc             	lea    -0x44(%ebp),%ecx
45a546:	8b 73 0c             	mov    0xc(%ebx),%esi
45a549:	6a 0b                	push   $0xb
45a54b:	68 6c 6e 4b 00       	push   $0x4b6e6c
45a550:	89 45 b0             	mov    %eax,-0x50(%ebp)
45a553:	89 75 b4             	mov    %esi,-0x4c(%ebp)
45a556:	89 07                	mov    %eax,(%edi)
45a558:	89 77 04             	mov    %esi,0x4(%edi)
45a55b:	c6 47 08 00          	movb   $0x0,0x8(%edi)
45a55f:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
45a566:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
45a56d:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
45a574:	e8 07 0b fb ff       	call   0x40b080
45a579:	68 d8 7f 4c 00       	push   $0x4c7fd8
45a57e:	68 94 5f 4c 00       	push   $0x4c5f94
45a583:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45a58a:	e8 1b 0c 01 00       	call   0x46b1aa
45a58f:	83 c4 08             	add    $0x8,%esp
45a592:	8d 4d bc             	lea    -0x44(%ebp),%ecx
45a595:	50                   	push   %eax
45a596:	e8 05 60 fb ff       	call   0x4105a0
45a59b:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
45a5a2:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
45a5a9:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
45a5b0:	0f 10 00             	movups (%eax),%xmm0
45a5b3:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
45a5b7:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
45a5bc:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
45a5c1:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
45a5c8:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
45a5cf:	c6 00 00             	movb   $0x0,(%eax)
45a5d2:	ff 75 b0             	push   -0x50(%ebp)
45a5d5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45a5d9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45a5dc:	8b 06                	mov    (%esi),%eax
45a5de:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
45a5e2:	68 90 5f 4c 00       	push   $0x4c5f90
45a5e7:	0f 43 4d d4          	cmovae -0x2c(%ebp),%ecx
45a5eb:	8b 70 04             	mov    0x4(%eax),%esi
45a5ee:	51                   	push   %ecx
45a5ef:	8b ce                	mov    %esi,%ecx
45a5f1:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45a5f7:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
45a5fa:	ff d6                	call   *%esi
45a5fc:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
45a600:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45a603:	88 45 bb             	mov    %al,-0x45(%ebp)
45a606:	83 f9 10             	cmp    $0x10,%ecx
45a609:	72 2c                	jb     0x45a637
45a60b:	8b 55 d4             	mov    -0x2c(%ebp),%edx
45a60e:	41                   	inc    %ecx
45a60f:	8b c2                	mov    %edx,%eax
45a611:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45a617:	72 14                	jb     0x45a62d
45a619:	8b 50 fc             	mov    -0x4(%eax),%edx
45a61c:	83 c1 23             	add    $0x23,%ecx
45a61f:	2b c2                	sub    %edx,%eax
45a621:	83 c0 fc             	add    $0xfffffffc,%eax
45a624:	83 f8 1f             	cmp    $0x1f,%eax
45a627:	0f 87 b7 00 00 00    	ja     0x45a6e4
45a62d:	51                   	push   %ecx
45a62e:	52                   	push   %edx
45a62f:	e8 d4 f3 00 00       	call   0x469a08
45a634:	83 c4 08             	add    $0x8,%esp
45a637:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
45a63e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
45a641:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
45a648:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
45a64f:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
45a653:	83 f9 10             	cmp    $0x10,%ecx
45a656:	72 28                	jb     0x45a680
45a658:	8b 55 bc             	mov    -0x44(%ebp),%edx
45a65b:	41                   	inc    %ecx
45a65c:	8b c2                	mov    %edx,%eax
45a65e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45a664:	72 10                	jb     0x45a676
45a666:	8b 50 fc             	mov    -0x4(%eax),%edx
45a669:	83 c1 23             	add    $0x23,%ecx
45a66c:	2b c2                	sub    %edx,%eax
45a66e:	83 c0 fc             	add    $0xfffffffc,%eax
45a671:	83 f8 1f             	cmp    $0x1f,%eax
45a674:	77 6e                	ja     0x45a6e4
45a676:	51                   	push   %ecx
45a677:	52                   	push   %edx
45a678:	e8 8b f3 00 00       	call   0x469a08
45a67d:	83 c4 08             	add    $0x8,%esp
45a680:	80 7d bb 00          	cmpb   $0x0,-0x45(%ebp)
45a684:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
45a68b:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
45a692:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
45a696:	74 06                	je     0x45a69e
45a698:	c6 47 08 01          	movb   $0x1,0x8(%edi)
45a69c:	eb 24                	jmp    0x45a6c2
45a69e:	68 94 5f 4c 00       	push   $0x4c5f94
45a6a3:	68 94 5f 4c 00       	push   $0x4c5f94
45a6a8:	e8 c1 0a 01 00       	call   0x46b16e
45a6ad:	83 c4 08             	add    $0x8,%esp
45a6b0:	85 c0                	test   %eax,%eax
45a6b2:	74 0e                	je     0x45a6c2
45a6b4:	8b 4d b0             	mov    -0x50(%ebp),%ecx
45a6b7:	ff 75 b4             	push   -0x4c(%ebp)
45a6ba:	8d 49 34             	lea    0x34(%ecx),%ecx
45a6bd:	e8 be c5 ff ff       	call   0x456c80