4581a2:	46                   	inc    %esi
4581a3:	3b 45 14             	cmp    0x14(%ebp),%eax
4581a6:	7c 06                	jl     0x4581ae
4581a8:	c6 07 3f             	movb   $0x3f,(%edi)
4581ab:	47                   	inc    %edi
4581ac:	eb 33                	jmp    0x4581e1
4581ae:	8b 4d 10             	mov    0x10(%ebp),%ecx
4581b1:	8b 04 81             	mov    (%ecx,%eax,4),%eax
4581b4:	85 c0                	test   %eax,%eax
4581b6:	74 29                	je     0x4581e1
4581b8:	50                   	push   %eax
4581b9:	57                   	push   %edi
4581ba:	ff 15 04 03 4b 00    	call   *0x4b0304
4581c0:	57                   	push   %edi
4581c1:	ff 15 88 03 4b 00    	call   *0x4b0388
4581c7:	03 f8                	add    %eax,%edi
4581c9:	eb 16                	jmp    0x4581e1
4581cb:	0f b6 c1             	movzbl %cl,%eax
4581ce:	f6 80 e1 e1 4a 00 04 	testb  $0x4,0x4ae1e1(%eax)
4581d5:	74 04                	je     0x4581db
4581d7:	88 0f                	mov    %cl,(%edi)
4581d9:	47                   	inc    %edi
4581da:	46                   	inc    %esi
4581db:	8a 06                	mov    (%esi),%al
4581dd:	88 07                	mov    %al,(%edi)
4581df:	47                   	inc    %edi
4581e0:	46                   	inc    %esi
4581e1:	80 3e 00             	cmpb   $0x0,(%esi)
4581e4:	75 8f                	jne    0x458175
4581e6:	2b 3b                	sub    (%ebx),%edi
4581e8:	8b cb                	mov    %ebx,%ecx
4581ea:	57                   	push   %edi
4581eb:	e8 37 8f fa ff       	call   0x401127
4581f0:	5f                   	pop    %edi
4581f1:	5e                   	pop    %esi
4581f2:	5b                   	pop    %ebx
4581f3:	5d                   	pop    %ebp
4581f4:	c2 10 00             	ret    $0x10
4581f7:	b8 cf 38 48 00       	mov    $0x4838cf,%eax
4581fc:	e8 7b fa fb ff       	call   0x417c7c
458201:	51                   	push   %ecx
458202:	e8 ef 7f fe ff       	call   0x4401f6
458207:	8b 10                	mov    (%eax),%edx
458209:	8b c8                	mov    %eax,%ecx
45820b:	ff 52 0c             	call   *0xc(%edx)
45820e:	83 c0 10             	add    $0x10,%eax
458211:	89 45 f0             	mov    %eax,-0x10(%ebp)
458214:	ff 75 0c             	push   0xc(%ebp)
458217:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45821b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45821e:	e8 db 8f fa ff       	call   0x4011fe
458223:	85 c0                	test   %eax,%eax
458225:	75 0d                	jne    0x458234
458227:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45822a:	83 c1 f0             	add    $0xfffffff0,%ecx
45822d:	e8 20 91 fa ff       	call   0x401352
458232:	eb 1c                	jmp    0x458250
458234:	56                   	push   %esi
458235:	ff 75 14             	push   0x14(%ebp)
458238:	8b 75 f0             	mov    -0x10(%ebp),%esi
45823b:	ff 75 10             	push   0x10(%ebp)
45823e:	56                   	push   %esi
45823f:	ff 75 08             	push   0x8(%ebp)
458242:	e8 b1 fe ff ff       	call   0x4580f8
458247:	8d 4e f0             	lea    -0x10(%esi),%ecx
45824a:	e8 03 91 fa ff       	call   0x401352
45824f:	5e                   	pop    %esi
458250:	8b 4d f4             	mov    -0xc(%ebp),%ecx
458253:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45825a:	c9                   	leave
45825b:	c2 10 00             	ret    $0x10
45825e:	6a 01                	push   $0x1
458260:	8d 44 24 10          	lea    0x10(%esp),%eax
458264:	50                   	push   %eax
458265:	ff 74 24 10          	push   0x10(%esp)
458269:	ff 74 24 10          	push   0x10(%esp)
45826d:	e8 85 ff ff ff       	call   0x4581f7
458272:	c2 0c 00             	ret    $0xc
458275:	55                   	push   %ebp
458276:	8b ec                	mov    %esp,%ebp
458278:	51                   	push   %ecx
458279:	51                   	push   %ecx
45827a:	8b 45 10             	mov    0x10(%ebp),%eax
45827d:	89 45 f8             	mov    %eax,-0x8(%ebp)
458280:	8b 45 14             	mov    0x14(%ebp),%eax
458283:	6a 02                	push   $0x2
458285:	89 45 fc             	mov    %eax,-0x4(%ebp)
458288:	8d 45 f8             	lea    -0x8(%ebp),%eax
45828b:	50                   	push   %eax
45828c:	ff 75 0c             	push   0xc(%ebp)
45828f:	ff 75 08             	push   0x8(%ebp)
458292:	e8 60 ff ff ff       	call   0x4581f7
458297:	c9                   	leave
458298:	c2 10 00             	ret    $0x10
45829b:	55                   	push   %ebp
45829c:	8b ec                	mov    %esp,%ebp
45829e:	83 ec 10             	sub    $0x10,%esp
4582a1:	ff 75 0c             	push   0xc(%ebp)
4582a4:	ff 75 08             	push   0x8(%ebp)
4582a7:	ff 15 64 03 4b 00    	call   *0x4b0364
4582ad:	85 c0                	test   %eax,%eax
4582af:	89 45 f0             	mov    %eax,-0x10(%ebp)
4582b2:	0f 84 67 01 00 00    	je     0x45841f
4582b8:	53                   	push   %ebx
4582b9:	50                   	push   %eax
4582ba:	ff 15 68 03 4b 00    	call   *0x4b0368
4582c0:	8b d8                	mov    %eax,%ebx
4582c2:	85 db                	test   %ebx,%ebx
4582c4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4582c7:	0f 84 51 01 00 00    	je     0x45841e
4582cd:	56                   	push   %esi
4582ce:	57                   	push   %edi
4582cf:	8b 3b                	mov    (%ebx),%edi
4582d1:	83 c7 40             	add    $0x40,%edi
4582d4:	57                   	push   %edi
4582d5:	e8 b2 e0 fb ff       	call   0x41638c
4582da:	8b f0                	mov    %eax,%esi
4582dc:	85 f6                	test   %esi,%esi
4582de:	59                   	pop    %ecx
4582df:	0f 84 37 01 00 00    	je     0x45841c
4582e5:	57                   	push   %edi
4582e6:	53                   	push   %ebx
4582e7:	56                   	push   %esi
4582e8:	e8 83 f5 fb ff       	call   0x417870
4582ed:	8b 3e                	mov    (%esi),%edi
4582ef:	83 c4 0c             	add    $0xc,%esp
4582f2:	03 fe                	add    %esi,%edi
4582f4:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
4582f8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4582fb:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
4582fe:	33 c0                	xor    %eax,%eax
458300:	3b 0c c5 10 eb 48 00 	cmp    0x48eb10(,%eax,8),%ecx
458307:	74 08                	je     0x458311
458309:	40                   	inc    %eax
45830a:	83 f8 04             	cmp    $0x4,%eax
45830d:	72 f1                	jb     0x458300
45830f:	eb 62                	jmp    0x458373
458311:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
458315:	74 16                	je     0x45832d
458317:	83 3c c5 14 eb 48 00 	cmpl   $0x12,0x48eb14(,%eax,8)
45831e:	12
45831f:	74 52                	je     0x458373
458321:	8b 45 0c             	mov    0xc(%ebp),%eax
458324:	c7 04 87 ff ff ff 00 	movl   $0xffffff,(%edi,%eax,4)
45832b:	eb 46                	jmp    0x458373
45832d:	8d 1c c5 14 eb 48 00 	lea    0x48eb14(,%eax,8),%ebx
458334:	ff 33                	push   (%ebx)
458336:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458339:	ff 15 04 07 4b 00    	call   *0x4b0704
45833f:	ff 33                	push   (%ebx)
458341:	0f b6 c4             	movzbl %ah,%eax
458344:	89 45 08             	mov    %eax,0x8(%ebp)
458347:	ff 15 04 07 4b 00    	call   *0x4b0704
45834d:	8b 4d 08             	mov    0x8(%ebp),%ecx
458350:	8a e8                	mov    %al,%ch
458352:	8b c3                	mov    %ebx,%eax
458354:	ff 30                	push   (%eax)
458356:	c1 e1 08             	shl    $0x8,%ecx
458359:	89 4d 08             	mov    %ecx,0x8(%ebp)
45835c:	ff 15 04 07 4b 00    	call   *0x4b0704
458362:	8b 4d 08             	mov    0x8(%ebp),%ecx
458365:	c1 e8 10             	shr    $0x10,%eax
458368:	0f b6 c0             	movzbl %al,%eax
45836b:	0b c8                	or     %eax,%ecx
45836d:	8b 45 0c             	mov    0xc(%ebp),%eax
458370:	89 0c 87             	mov    %ecx,(%edi,%eax,4)
458373:	ff 45 0c             	incl   0xc(%ebp)
458376:	83 7d 0c 10          	cmpl   $0x10,0xc(%ebp)
45837a:	0f 8c 78 ff ff ff    	jl     0x4582f8
458380:	8b 7e 04             	mov    0x4(%esi),%edi
458383:	8b 5e 08             	mov    0x8(%esi),%ebx
458386:	6a 00                	push   $0x0
458388:	89 7d 08             	mov    %edi,0x8(%ebp)
45838b:	89 5d 0c             	mov    %ebx,0xc(%ebp)
45838e:	ff 15 60 06 4b 00    	call   *0x4b0660
458394:	53                   	push   %ebx
458395:	57                   	push   %edi
458396:	50                   	push   %eax
458397:	89 45 10             	mov    %eax,0x10(%ebp)
45839a:	ff 15 84 ff 4a 00    	call   *0x4aff84
4583a0:	85 c0                	test   %eax,%eax
4583a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4583a5:	74 57                	je     0x4583fe
4583a7:	ff 75 10             	push   0x10(%ebp)
4583aa:	ff 15 8c 00 4b 00    	call   *0x4b008c
4583b0:	ff 75 fc             	push   -0x4(%ebp)
4583b3:	8b 1d 38 00 4b 00    	mov    0x4b0038,%ebx
4583b9:	8b f8                	mov    %eax,%edi
4583bb:	57                   	push   %edi
4583bc:	ff d3                	call   *%ebx
4583be:	8a 4e 0e             	mov    0xe(%esi),%cl
4583c1:	68 20 00 cc 00       	push   $0xcc0020
4583c6:	33 d2                	xor    %edx,%edx
4583c8:	42                   	inc    %edx
4583c9:	d3 e2                	shl    %cl,%edx
4583cb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4583ce:	89 45 f4             	mov    %eax,-0xc(%ebp)
4583d1:	33 c0                	xor    %eax,%eax
4583d3:	50                   	push   %eax
4583d4:	56                   	push   %esi
4583d5:	8d 4c 91 28          	lea    0x28(%ecx,%edx,4),%ecx
4583d9:	51                   	push   %ecx
4583da:	ff 75 0c             	push   0xc(%ebp)
4583dd:	ff 75 08             	push   0x8(%ebp)
4583e0:	50                   	push   %eax
4583e1:	50                   	push   %eax
4583e2:	ff 75 0c             	push   0xc(%ebp)
4583e5:	ff 75 08             	push   0x8(%ebp)
4583e8:	50                   	push   %eax
4583e9:	50                   	push   %eax
4583ea:	57                   	push   %edi
4583eb:	ff 15 88 ff 4a 00    	call   *0x4aff88
4583f1:	ff 75 f4             	push   -0xc(%ebp)
4583f4:	57                   	push   %edi
4583f5:	ff d3                	call   *%ebx
4583f7:	57                   	push   %edi
4583f8:	ff 15 fc ff 4a 00    	call   *0x4afffc
4583fe:	ff 75 10             	push   0x10(%ebp)
458401:	6a 00                	push   $0x0
458403:	ff 15 5c 06 4b 00    	call   *0x4b065c
458409:	56                   	push   %esi
45840a:	e8 8f df fb ff       	call   0x41639e
45840f:	59                   	pop    %ecx
458410:	ff 75 f0             	push   -0x10(%ebp)
458413:	ff 15 bc 02 4b 00    	call   *0x4b02bc
458419:	8b 45 fc             	mov    -0x4(%ebp),%eax
45841c:	5f                   	pop    %edi
45841d:	5e                   	pop    %esi
45841e:	5b                   	pop    %ebx
45841f:	c9                   	leave
458420:	c2 0c 00             	ret    $0xc
458423:	8b 01                	mov    (%ecx),%eax
458425:	56                   	push   %esi
458426:	8b 74 24 0c          	mov    0xc(%esp),%esi
45842a:	56                   	push   %esi
45842b:	ff 74 24 0c          	push   0xc(%esp)
45842f:	68 17 04 00 00       	push   $0x417
458434:	ff 90 10 01 00 00    	call   *0x110(%eax)
45843a:	80 76 08 04          	xorb   $0x4,0x8(%esi)
45843e:	5e                   	pop    %esi
45843f:	c2 08 00             	ret    $0x8
458442:	8b 01                	mov    (%ecx),%eax
458444:	6a 00                	push   $0x0
458446:	ff 74 24 08          	push   0x8(%esp)
45844a:	68 19 04 00 00       	push   $0x419
45844f:	ff 90 10 01 00 00    	call   *0x110(%eax)
458455:	c2 04 00             	ret    $0x4
458458:	55                   	push   %ebp
458459:	8b ec                	mov    %esp,%ebp
45845b:	83 ec 18             	sub    $0x18,%esp
45845e:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
458463:	89 45 fc             	mov    %eax,-0x4(%ebp)
458466:	8d 45 e8             	lea    -0x18(%ebp),%eax
458469:	50                   	push   %eax
45846a:	ff 75 08             	push   0x8(%ebp)
45846d:	e8 b1 ff ff ff       	call   0x458423
458472:	8b 4d fc             	mov    -0x4(%ebp),%ecx
458475:	8b 45 ec             	mov    -0x14(%ebp),%eax
458478:	e8 61 f7 fb ff       	call   0x417bde
45847d:	c9                   	leave
45847e:	c2 04 00             	ret    $0x4
458481:	55                   	push   %ebp
458482:	8b ec                	mov    %esp,%ebp
458484:	51                   	push   %ecx
458485:	51                   	push   %ecx
458486:	8b 51 7c             	mov    0x7c(%ecx),%edx
458489:	83 a1 9c 00 00 00 00 	andl   $0x0,0x9c(%ecx)
458490:	8b c2                	mov    %edx,%eax
458492:	25 00 a0 00 00       	and    $0xa000,%eax
458497:	f7 d8                	neg    %eax
458499:	1b c0                	sbb    %eax,%eax
45849b:	f7 d8                	neg    %eax
45849d:	f6 c2 01             	test   $0x1,%dl
4584a0:	74 09                	je     0x4584ab
4584a2:	f6 c2 04             	test   $0x4,%dl
4584a5:	74 04                	je     0x4584ab
4584a7:	6a 46                	push   $0x46
4584a9:	eb 0a                	jmp    0x4584b5
4584ab:	85 c0                	test   %eax,%eax
4584ad:	74 04                	je     0x4584b3
4584af:	6a 4a                	push   $0x4a
4584b1:	eb 02                	jmp    0x4584b5
4584b3:	6a 50                	push   $0x50
4584b5:	8b 01                	mov    (%ecx),%eax
4584b7:	8d 55 f8             	lea    -0x8(%ebp),%edx
4584ba:	6a 00                	push   $0x0
4584bc:	52                   	push   %edx
4584bd:	ff 90 34 01 00 00    	call   *0x134(%eax)
4584c3:	c9                   	leave
4584c4:	c3                   	ret
4584c5:	55                   	push   %ebp
4584c6:	8b ec                	mov    %esp,%ebp
4584c8:	83 ec 18             	sub    $0x18,%esp
4584cb:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4584d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4584d3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4584d6:	50                   	push   %eax
4584d7:	ff 75 08             	push   0x8(%ebp)
4584da:	e8 44 ff ff ff       	call   0x458423
4584df:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
4584e3:	0f b6 4d f1          	movzbl -0xf(%ebp),%ecx
4584e7:	c1 e0 10             	shl    $0x10,%eax
4584ea:	0b c1                	or     %ecx,%eax
4584ec:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4584ef:	e8 ea f6 fb ff       	call   0x417bde
4584f4:	c9                   	leave
4584f5:	c2 04 00             	ret    $0x4
4584f8:	55                   	push   %ebp
4584f9:	8b ec                	mov    %esp,%ebp
4584fb:	51                   	push   %ecx
4584fc:	51                   	push   %ecx
4584fd:	53                   	push   %ebx
4584fe:	56                   	push   %esi
4584ff:	33 f6                	xor    %esi,%esi
458501:	33 db                	xor    %ebx,%ebx
458503:	39 75 0c             	cmp    %esi,0xc(%ebp)
458506:	89 4d f8             	mov    %ecx,-0x8(%ebp)
458509:	89 75 fc             	mov    %esi,-0x4(%ebp)
45850c:	0f 8e 91 00 00 00    	jle    0x4585a3
458512:	57                   	push   %edi
458513:	8b 7d 08             	mov    0x8(%ebp),%edi
458516:	8d 04 b6             	lea    (%esi,%esi,4),%eax
458519:	8d 14 87             	lea    (%edi,%eax,4),%edx
45851c:	8d 42 08             	lea    0x8(%edx),%eax
45851f:	80 20 df             	andb   $0xdf,(%eax)
458522:	f6 00 08             	testb  $0x8,(%eax)
458525:	75 71                	jne    0x458598
458527:	f6 42 09 01          	testb  $0x1,0x9(%edx)
45852b:	74 04                	je     0x458531
45852d:	8b 12                	mov    (%edx),%edx
45852f:	eb 09                	jmp    0x45853a
458531:	8b 4d f8             	mov    -0x8(%ebp),%ecx
458534:	8b 91 a8 00 00 00    	mov    0xa8(%ecx),%edx
45853a:	8d 0c 1a             	lea    (%edx,%ebx,1),%ecx
45853d:	3b 4d 10             	cmp    0x10(%ebp),%ecx
458540:	7e 54                	jle    0x458596
458542:	85 f6                	test   %esi,%esi
458544:	8b d6                	mov    %esi,%edx
458546:	7c 20                	jl     0x458568
458548:	8a 18                	mov    (%eax),%bl
45854a:	f6 c3 20             	test   $0x20,%bl
45854d:	75 19                	jne    0x458568
45854f:	f6 40 01 01          	testb  $0x1,0x1(%eax)
458553:	74 0b                	je     0x458560
458555:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
458559:	75 05                	jne    0x458560
45855b:	f6 c3 08             	test   $0x8,%bl
45855e:	74 4d                	je     0x4585ad
458560:	4a                   	dec    %edx
458561:	83 e8 14             	sub    $0x14,%eax