4f6387:	56                   	push   %esi
4f6388:	57                   	push   %edi
4f6389:	8b 7d 08             	mov    0x8(%ebp),%edi
4f638c:	0f b6 57 09          	movzbl 0x9(%edi),%edx
4f6390:	8b 5f 38             	mov    0x38(%edi),%ebx
4f6393:	8b 47 34             	mov    0x34(%edi),%eax
4f6396:	0f b6 4c 1a 05       	movzbl 0x5(%edx,%ebx,1),%ecx
4f639b:	8b 70 24             	mov    0x24(%eax),%esi
4f639e:	0f b6 44 1a 06       	movzbl 0x6(%edx,%ebx,1),%eax
4f63a3:	c1 e1 08             	shl    $0x8,%ecx
4f63a6:	0b c8                	or     %eax,%ecx
4f63a8:	89 75 fc             	mov    %esi,-0x4(%ebp)
4f63ab:	49                   	dec    %ecx
4f63ac:	0f b7 c1             	movzwl %cx,%eax
4f63af:	0f b7 4f 18          	movzwl 0x18(%edi),%ecx
4f63b3:	40                   	inc    %eax
4f63b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4f63b7:	0f b6 47 0a          	movzbl 0xa(%edi),%eax
4f63bb:	0f b6 7c 1a 07       	movzbl 0x7(%edx,%ebx,1),%edi
4f63c0:	03 c2                	add    %edx,%eax
4f63c2:	8d 04 48             	lea    (%eax,%ecx,2),%eax
4f63c5:	83 c0 08             	add    $0x8,%eax
4f63c8:	8d 4e fc             	lea    -0x4(%esi),%ecx
4f63cb:	0f b6 74 1a 01       	movzbl 0x1(%edx,%ebx,1),%esi
4f63d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4f63d3:	0f b6 44 1a 02       	movzbl 0x2(%edx,%ebx,1),%eax
4f63d8:	c1 e6 08             	shl    $0x8,%esi
4f63db:	0b f0                	or     %eax,%esi
4f63dd:	8b 45 f8             	mov    -0x8(%ebp),%eax
4f63e0:	03 f8                	add    %eax,%edi
4f63e2:	85 f6                	test   %esi,%esi
4f63e4:	0f 84 83 00 00 00    	je     0x4f646d
4f63ea:	3b f0                	cmp    %eax,%esi
4f63ec:	73 0f                	jae    0x4f63fd
4f63ee:	68 fc c4 6b 00       	push   $0x6bc4fc
4f63f3:	68 d3 01 01 00       	push   $0x101d3
4f63f8:	e9 9a 00 00 00       	jmp    0x4f6497
4f63fd:	3b f1                	cmp    %ecx,%esi
4f63ff:	7f 34                	jg     0x4f6435
4f6401:	0f b6 04 1e          	movzbl (%esi,%ebx,1),%eax
4f6405:	0f b6 4c 33 01       	movzbl 0x1(%ebx,%esi,1),%ecx
4f640a:	0f b6 54 33 02       	movzbl 0x2(%ebx,%esi,1),%edx
4f640f:	c1 e0 08             	shl    $0x8,%eax
4f6412:	0b c1                	or     %ecx,%eax
4f6414:	c1 e2 08             	shl    $0x8,%edx
4f6417:	0f b6 4c 33 03       	movzbl 0x3(%ebx,%esi,1),%ecx
4f641c:	0b d1                	or     %ecx,%edx
4f641e:	8d 4e 03             	lea    0x3(%esi),%ecx
4f6421:	03 ca                	add    %edx,%ecx
4f6423:	03 fa                	add    %edx,%edi
4f6425:	3b c1                	cmp    %ecx,%eax
4f6427:	76 18                	jbe    0x4f6441
4f6429:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4f642c:	8b f0                	mov    %eax,%esi
4f642e:	83 c1 fc             	add    $0xfffffffc,%ecx
4f6431:	3b c1                	cmp    %ecx,%eax
4f6433:	7e cc                	jle    0x4f6401
4f6435:	68 fc c4 6b 00       	push   $0x6bc4fc
4f643a:	68 d8 01 01 00       	push   $0x101d8
4f643f:	eb 56                	jmp    0x4f6497
4f6441:	85 c0                	test   %eax,%eax
4f6443:	74 0c                	je     0x4f6451
4f6445:	68 fc c4 6b 00       	push   $0x6bc4fc
4f644a:	68 e2 01 01 00       	push   $0x101e2
4f644f:	eb 46                	jmp    0x4f6497
4f6451:	8d 04 32             	lea    (%edx,%esi,1),%eax
4f6454:	3b 45 fc             	cmp    -0x4(%ebp),%eax
4f6457:	76 14                	jbe    0x4f646d
4f6459:	68 e6 01 01 00       	push   $0x101e6
4f645e:	e8 4d 99 02 00       	call   0x51fdb0
4f6463:	83 c4 04             	add    $0x4,%esp
4f6466:	5f                   	pop    %edi
4f6467:	5e                   	pop    %esi
4f6468:	5b                   	pop    %ebx
4f6469:	8b e5                	mov    %ebp,%esp
4f646b:	5d                   	pop    %ebp
4f646c:	c3                   	ret
4f646d:	3b 7d fc             	cmp    -0x4(%ebp),%edi
4f6470:	7f 1b                	jg     0x4f648d
4f6472:	8b 45 f4             	mov    -0xc(%ebp),%eax
4f6475:	3b f8                	cmp    %eax,%edi
4f6477:	7c 14                	jl     0x4f648d
4f6479:	8b 4d 08             	mov    0x8(%ebp),%ecx
4f647c:	2b f8                	sub    %eax,%edi
4f647e:	0f b7 c7             	movzwl %di,%eax
4f6481:	5f                   	pop    %edi
4f6482:	5e                   	pop    %esi
4f6483:	89 41 14             	mov    %eax,0x14(%ecx)
4f6486:	33 c0                	xor    %eax,%eax
4f6488:	5b                   	pop    %ebx
4f6489:	8b e5                	mov    %ebp,%esp
4f648b:	5d                   	pop    %ebp
4f648c:	c3                   	ret
4f648d:	68 fc c4 6b 00       	push   $0x6bc4fc
4f6492:	68 f2 01 01 00       	push   $0x101f2
4f6497:	68 94 c4 6b 00       	push   $0x6bc494
4f649c:	68 78 c4 6b 00       	push   $0x6bc478
4f64a1:	6a 0b                	push   $0xb
4f64a3:	e8 38 9b fe ff       	call   0x4dffe0
4f64a8:	83 c4 14             	add    $0x14,%esp
4f64ab:	b8 0b 00 00 00       	mov    $0xb,%eax
4f64b0:	5f                   	pop    %edi
4f64b1:	5e                   	pop    %esi
4f64b2:	5b                   	pop    %ebx
4f64b3:	8b e5                	mov    %ebp,%esp
4f64b5:	5d                   	pop    %ebp
4f64b6:	c3                   	ret
4f64b7:	cc                   	int3
4f64b8:	cc                   	int3
4f64b9:	cc                   	int3
4f64ba:	cc                   	int3
4f64bb:	cc                   	int3
4f64bc:	cc                   	int3
4f64bd:	cc                   	int3
4f64be:	cc                   	int3
4f64bf:	cc                   	int3
4f64c0:	55                   	push   %ebp
4f64c1:	8b ec                	mov    %esp,%ebp
4f64c3:	83 ec 14             	sub    $0x14,%esp
4f64c6:	53                   	push   %ebx
4f64c7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4f64ca:	56                   	push   %esi
4f64cb:	57                   	push   %edi
4f64cc:	8b 7b 04             	mov    0x4(%ebx),%edi
4f64cf:	89 7d ec             	mov    %edi,-0x14(%ebp)
4f64d2:	80 7f 11 00          	cmpb   $0x0,0x11(%edi)
4f64d6:	0f 84 50 02 00 00    	je     0x4f672c
4f64dc:	8b 47 08             	mov    0x8(%edi),%eax
4f64df:	85 c0                	test   %eax,%eax
4f64e1:	74 0b                	je     0x4f64ee
4f64e3:	80 60 01 fb          	andb   $0xfb,0x1(%eax)
4f64e7:	8b 40 18             	mov    0x18(%eax),%eax
4f64ea:	85 c0                	test   %eax,%eax
4f64ec:	75 f5                	jne    0x4f64e3
4f64ee:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4f64f2:	8b 73 04             	mov    0x4(%ebx),%esi
4f64f5:	74 12                	je     0x4f6509
4f64f7:	ff 43 0c             	incl   0xc(%ebx)
4f64fa:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4f64fe:	75 09                	jne    0x4f6509
4f6500:	53                   	push   %ebx
4f6501:	e8 ca 0a 00 00       	call   0x4f6fd0
4f6506:	83 c4 04             	add    $0x4,%esp
4f6509:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4f650d:	8b 46 0c             	mov    0xc(%esi),%eax
4f6510:	8b 40 38             	mov    0x38(%eax),%eax
4f6513:	8b 70 34             	mov    0x34(%eax),%esi
4f6516:	0f ce                	bswap  %esi
4f6518:	74 0f                	je     0x4f6529
4f651a:	83 43 0c ff          	addl   $0xffffffff,0xc(%ebx)
4f651e:	75 09                	jne    0x4f6529
4f6520:	53                   	push   %ebx
4f6521:	e8 aa 24 06 00       	call   0x5589d0
4f6526:	83 c4 04             	add    $0x4,%esp
4f6529:	46                   	inc    %esi
4f652a:	8d 4e fe             	lea    -0x2(%esi),%ecx
4f652d:	89 4d 08             	mov    %ecx,0x8(%ebp)
4f6530:	83 fe 02             	cmp    $0x2,%esi
4f6533:	73 04                	jae    0x4f6539
4f6535:	33 d2                	xor    %edx,%edx
4f6537:	eb 33                	jmp    0x4f656c
4f6539:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
4f653e:	f7 67 24             	mull   0x24(%edi)
4f6541:	8b 45 08             	mov    0x8(%ebp),%eax
4f6544:	8b ca                	mov    %edx,%ecx
4f6546:	33 d2                	xor    %edx,%edx
4f6548:	c1 e9 02             	shr    $0x2,%ecx
4f654b:	41                   	inc    %ecx
4f654c:	f7 f1                	div    %ecx
4f654e:	8b 4d 08             	mov    0x8(%ebp),%ecx
4f6551:	a1 18 19 72 00       	mov    0x721918,%eax
4f6556:	2b ca                	sub    %edx,%ecx
4f6558:	33 d2                	xor    %edx,%edx
4f655a:	83 c1 02             	add    $0x2,%ecx
4f655d:	f7 77 20             	divl   0x20(%edi)
4f6560:	8d 51 01             	lea    0x1(%ecx),%edx
4f6563:	40                   	inc    %eax
4f6564:	3b c8                	cmp    %eax,%ecx
4f6566:	0f 45 d1             	cmovne %ecx,%edx
4f6569:	8b 4d 08             	mov    0x8(%ebp),%ecx
4f656c:	3b f2                	cmp    %edx,%esi
4f656e:	74 0f                	je     0x4f657f
4f6570:	a1 18 19 72 00       	mov    0x721918,%eax
4f6575:	33 d2                	xor    %edx,%edx
4f6577:	f7 77 20             	divl   0x20(%edi)
4f657a:	40                   	inc    %eax
4f657b:	3b f0                	cmp    %eax,%esi
4f657d:	75 04                	jne    0x4f6583
4f657f:	46                   	inc    %esi
4f6580:	41                   	inc    %ecx
4f6581:	eb aa                	jmp    0x4f652d
4f6583:	6a 01                	push   $0x1
4f6585:	56                   	push   %esi
4f6586:	8d 45 f4             	lea    -0xc(%ebp),%eax
4f6589:	50                   	push   %eax
4f658a:	8d 45 f8             	lea    -0x8(%ebp),%eax
4f658d:	50                   	push   %eax
4f658e:	57                   	push   %edi
4f658f:	e8 8c bd ff ff       	call   0x4f2320
4f6594:	83 c4 14             	add    $0x14,%esp
4f6597:	89 45 08             	mov    %eax,0x8(%ebp)
4f659a:	85 c0                	test   %eax,%eax
4f659c:	0f 85 db 01 00 00    	jne    0x4f677d
4f65a2:	39 75 f4             	cmp    %esi,-0xc(%ebp)
4f65a5:	0f 84 20 01 00 00    	je     0x4f66cb
4f65ab:	88 45 fc             	mov    %al,-0x4(%ebp)
4f65ae:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f65b1:	8b 47 08             	mov    0x8(%edi),%eax
4f65b4:	85 c0                	test   %eax,%eax
4f65b6:	74 12                	je     0x4f65ca
4f65b8:	6a 00                	push   $0x0
4f65ba:	6a 00                	push   $0x0
4f65bc:	50                   	push   %eax
4f65bd:	e8 0e ec 01 00       	call   0x5151d0
4f65c2:	83 c4 0c             	add    $0xc,%esp
4f65c5:	89 45 08             	mov    %eax,0x8(%ebp)
4f65c8:	eb 07                	jmp    0x4f65d1
4f65ca:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
4f65d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4f65d4:	85 c0                	test   %eax,%eax
4f65d6:	74 09                	je     0x4f65e1
4f65d8:	50                   	push   %eax
4f65d9:	e8 e2 ba 01 00       	call   0x5120c0
4f65de:	83 c4 04             	add    $0x4,%esp
4f65e1:	8b 45 08             	mov    0x8(%ebp),%eax
4f65e4:	85 c0                	test   %eax,%eax
4f65e6:	0f 85 91 01 00 00    	jne    0x4f677d
4f65ec:	50                   	push   %eax
4f65ed:	8d 45 08             	lea    0x8(%ebp),%eax
4f65f0:	50                   	push   %eax
4f65f1:	56                   	push   %esi
4f65f2:	57                   	push   %edi
4f65f3:	e8 08 06 00 00       	call   0x4f6c00
4f65f8:	83 c4 10             	add    $0x10,%esp
4f65fb:	85 c0                	test   %eax,%eax
4f65fd:	0f 85 7a 01 00 00    	jne    0x4f677d
4f6603:	8d 45 f0             	lea    -0x10(%ebp),%eax
4f6606:	50                   	push   %eax
4f6607:	8d 45 fc             	lea    -0x4(%ebp),%eax
4f660a:	50                   	push   %eax
4f660b:	56                   	push   %esi
4f660c:	57                   	push   %edi
4f660d:	e8 fe a2 01 00       	call   0x510910
4f6612:	8a 4d fc             	mov    -0x4(%ebp),%cl
4f6615:	83 c4 10             	add    $0x10,%esp
4f6618:	89 45 f8             	mov    %eax,-0x8(%ebp)
4f661b:	80 f9 01             	cmp    $0x1,%cl
4f661e:	74 05                	je     0x4f6625
4f6620:	80 f9 02             	cmp    $0x2,%cl
4f6623:	75 10                	jne    0x4f6635
4f6625:	68 27 1e 01 00       	push   $0x11e27
4f662a:	e8 81 97 02 00       	call   0x51fdb0
4f662f:	83 c4 04             	add    $0x4,%esp
4f6632:	89 45 f8             	mov    %eax,-0x8(%ebp)
4f6635:	85 c0                	test   %eax,%eax
4f6637:	74 1e                	je     0x4f6657
4f6639:	8b 4d 08             	mov    0x8(%ebp),%ecx
4f663c:	85 c9                	test   %ecx,%ecx
4f663e:	0f 84 39 01 00 00    	je     0x4f677d
4f6644:	51                   	push   %ecx
4f6645:	e8 76 ba 01 00       	call   0x5120c0
4f664a:	8b 45 f8             	mov    -0x8(%ebp),%eax
4f664d:	83 c4 04             	add    $0x4,%esp
4f6650:	5f                   	pop    %edi
4f6651:	5e                   	pop    %esi
4f6652:	5b                   	pop    %ebx
4f6653:	8b e5                	mov    %ebp,%esp
4f6655:	5d                   	pop    %ebp
4f6656:	c3                   	ret
4f6657:	6a 00                	push   $0x0
4f6659:	ff 75 f4             	push   -0xc(%ebp)
4f665c:	ff 75 f0             	push   -0x10(%ebp)
4f665f:	ff 75 fc             	push   -0x4(%ebp)
4f6662:	ff 75 08             	push   0x8(%ebp)
4f6665:	57                   	push   %edi
4f6666:	e8 e5 ba 01 00       	call   0x512150
4f666b:	8b 4d 08             	mov    0x8(%ebp),%ecx
4f666e:	83 c4 18             	add    $0x18,%esp
4f6671:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f6674:	85 c9                	test   %ecx,%ecx
4f6676:	74 0c                	je     0x4f6684
4f6678:	51                   	push   %ecx
4f6679:	e8 42 ba 01 00       	call   0x5120c0
4f667e:	8b 45 f0             	mov    -0x10(%ebp),%eax
4f6681:	83 c4 04             	add    $0x4,%esp
4f6684:	85 c0                	test   %eax,%eax
4f6686:	0f 85 f1 00 00 00    	jne    0x4f677d
4f668c:	50                   	push   %eax
4f668d:	8d 45 08             	lea    0x8(%ebp),%eax
4f6690:	50                   	push   %eax
4f6691:	56                   	push   %esi
4f6692:	57                   	push   %edi
4f6693:	e8 68 05 00 00       	call   0x4f6c00
4f6698:	83 c4 10             	add    $0x10,%esp
4f669b:	85 c0                	test   %eax,%eax
4f669d:	0f 85 da 00 00 00    	jne    0x4f677d
4f66a3:	8b 7d 08             	mov    0x8(%ebp),%edi
4f66a6:	ff 77 48             	push   0x48(%edi)
4f66a9:	e8 92 d2 03 00       	call   0x533940
4f66ae:	83 c4 04             	add    $0x4,%esp
4f66b1:	89 45 08             	mov    %eax,0x8(%ebp)
4f66b4:	85 c0                	test   %eax,%eax
4f66b6:	74 16                	je     0x4f66ce
4f66b8:	57                   	push   %edi
4f66b9:	e8 02 ba 01 00       	call   0x5120c0
4f66be:	8b 45 08             	mov    0x8(%ebp),%eax
4f66c1:	83 c4 04             	add    $0x4,%esp
4f66c4:	5f                   	pop    %edi
4f66c5:	5e                   	pop    %esi
4f66c6:	5b                   	pop    %ebx
4f66c7:	8b e5                	mov    %ebp,%esp
4f66c9:	5d                   	pop    %ebp
4f66ca:	c3                   	ret
4f66cb:	8b 7d f8             	mov    -0x8(%ebp),%edi
4f66ce:	8d 45 08             	lea    0x8(%ebp),%eax
4f66d1:	50                   	push   %eax
4f66d2:	6a 00                	push   $0x0
4f66d4:	6a 01                	push   $0x1
4f66d6:	56                   	push   %esi
4f66d7:	ff 75 ec             	push   -0x14(%ebp)
4f66da:	e8 b1 a3 01 00       	call   0x510a90
4f66df:	8b 45 08             	mov    0x8(%ebp),%eax
4f66e2:	83 c4 14             	add    $0x14,%esp
4f66e5:	85 c0                	test   %eax,%eax
4f66e7:	74 1b                	je     0x4f6704
4f66e9:	85 ff                	test   %edi,%edi
4f66eb:	0f 84 8c 00 00 00    	je     0x4f677d
4f66f1:	57                   	push   %edi
4f66f2:	e8 c9 b9 01 00       	call   0x5120c0
4f66f7:	8b 45 08             	mov    0x8(%ebp),%eax
4f66fa:	83 c4 04             	add    $0x4,%esp
4f66fd:	5f                   	pop    %edi
4f66fe:	5e                   	pop    %esi
4f66ff:	5b                   	pop    %ebx
4f6700:	8b e5                	mov    %ebp,%esp
4f6702:	5d                   	pop    %ebp
4f6703:	c3                   	ret
4f6704:	56                   	push   %esi
4f6705:	6a 04                	push   $0x4
4f6707:	53                   	push   %ebx
4f6708:	e8 93 77 02 00       	call   0x51dea0
4f670d:	8b d8                	mov    %eax,%ebx
4f670f:	83 c4 0c             	add    $0xc,%esp
4f6712:	85 db                	test   %ebx,%ebx
4f6714:	74 35                	je     0x4f674b
4f6716:	85 ff                	test   %edi,%edi
4f6718:	74 09                	je     0x4f6723
4f671a:	57                   	push   %edi
4f671b:	e8 a0 b9 01 00       	call   0x5120c0
4f6720:	83 c4 04             	add    $0x4,%esp