511788:	0f 82 1b 01 00 00    	jb     0x5118a9
51178e:	8b 03                	mov    (%ebx),%eax
511790:	8d 4d f0             	lea    -0x10(%ebp),%ecx
511793:	83 ee 10             	sub    $0x10,%esi
511796:	83 da 00             	sbb    $0x0,%edx
511799:	8b 40 08             	mov    0x8(%eax),%eax
51179c:	52                   	push   %edx
51179d:	56                   	push   %esi
51179e:	6a 04                	push   $0x4
5117a0:	51                   	push   %ecx
5117a1:	53                   	push   %ebx
5117a2:	ff d0                	call   *%eax
5117a4:	8b c8                	mov    %eax,%ecx
5117a6:	83 c4 14             	add    $0x14,%esp
5117a9:	85 c9                	test   %ecx,%ecx
5117ab:	75 07                	jne    0x5117b4
5117ad:	8b 75 f0             	mov    -0x10(%ebp),%esi
5117b0:	0f ce                	bswap  %esi
5117b2:	eb 03                	jmp    0x5117b7
5117b4:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5117b7:	85 c9                	test   %ecx,%ecx
5117b9:	0f 85 ea 00 00 00    	jne    0x5118a9
5117bf:	3b 75 10             	cmp    0x10(%ebp),%esi
5117c2:	0f 83 e1 00 00 00    	jae    0x5118a9
5117c8:	8b 55 e8             	mov    -0x18(%ebp),%edx
5117cb:	8b c2                	mov    %edx,%eax
5117cd:	83 e8 10             	sub    $0x10,%eax
5117d0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5117d3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5117d6:	8b 45 ec             	mov    -0x14(%ebp),%eax
5117d9:	1b c1                	sbb    %ecx,%eax
5117db:	3b c8                	cmp    %eax,%ecx
5117dd:	0f 8f c6 00 00 00    	jg     0x5118a9
5117e3:	7c 09                	jl     0x5117ee
5117e5:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
5117e8:	0f 87 bb 00 00 00    	ja     0x5118a9
5117ee:	85 f6                	test   %esi,%esi
5117f0:	0f 84 b3 00 00 00    	je     0x5118a9
5117f6:	8d 45 f0             	lea    -0x10(%ebp),%eax
5117f9:	83 ea 0c             	sub    $0xc,%edx
5117fc:	50                   	push   %eax
5117fd:	8b 45 ec             	mov    -0x14(%ebp),%eax
511800:	83 d8 00             	sbb    $0x0,%eax
511803:	50                   	push   %eax
511804:	52                   	push   %edx
511805:	53                   	push   %ebx
511806:	e8 95 fb ff ff       	call   0x5113a0
51180b:	8b c8                	mov    %eax,%ecx
51180d:	83 c4 10             	add    $0x10,%esp
511810:	85 c9                	test   %ecx,%ecx
511812:	0f 85 91 00 00 00    	jne    0x5118a9
511818:	8b 55 e8             	mov    -0x18(%ebp),%edx
51181b:	8b 45 ec             	mov    -0x14(%ebp),%eax
51181e:	83 ea 08             	sub    $0x8,%edx
511821:	1b c1                	sbb    %ecx,%eax
511823:	8b 0b                	mov    (%ebx),%ecx
511825:	50                   	push   %eax
511826:	52                   	push   %edx
511827:	6a 08                	push   $0x8
511829:	8d 45 f4             	lea    -0xc(%ebp),%eax
51182c:	50                   	push   %eax
51182d:	8b 41 08             	mov    0x8(%ecx),%eax
511830:	53                   	push   %ebx
511831:	ff d0                	call   *%eax
511833:	8b c8                	mov    %eax,%ecx
511835:	83 c4 14             	add    $0x14,%esp
511838:	85 c9                	test   %ecx,%ecx
51183a:	75 6d                	jne    0x5118a9
51183c:	8d 55 f4             	lea    -0xc(%ebp),%edx
51183f:	8b 02                	mov    (%edx),%eax
511841:	3b 05 a4 27 6b 00    	cmp    0x6b27a4,%eax
511847:	75 60                	jne    0x5118a9
511849:	8b 42 04             	mov    0x4(%edx),%eax
51184c:	3b 05 a8 27 6b 00    	cmp    0x6b27a8,%eax
511852:	75 55                	jne    0x5118a9
511854:	8b 4d e8             	mov    -0x18(%ebp),%ecx
511857:	ba 00 00 00 00       	mov    $0x0,%edx
51185c:	8b 45 ec             	mov    -0x14(%ebp),%eax
51185f:	2b ce                	sub    %esi,%ecx
511861:	1b c2                	sbb    %edx,%eax
511863:	83 e9 10             	sub    $0x10,%ecx
511866:	1b c2                	sbb    %edx,%eax
511868:	50                   	push   %eax
511869:	51                   	push   %ecx
51186a:	56                   	push   %esi
51186b:	57                   	push   %edi
51186c:	53                   	push   %ebx
51186d:	e8 ee 05 02 00       	call   0x531e60
511872:	8b c8                	mov    %eax,%ecx
511874:	83 c4 14             	add    $0x14,%esp
511877:	85 c9                	test   %ecx,%ecx
511879:	75 2e                	jne    0x5118a9
51187b:	8b 55 f0             	mov    -0x10(%ebp),%edx
51187e:	85 f6                	test   %esi,%esi
511880:	74 0b                	je     0x51188d
511882:	0f be 04 0f          	movsbl (%edi,%ecx,1),%eax
511886:	41                   	inc    %ecx
511887:	2b d0                	sub    %eax,%edx
511889:	3b ce                	cmp    %esi,%ecx
51188b:	72 f5                	jb     0x511882
51188d:	33 c0                	xor    %eax,%eax
51188f:	85 d2                	test   %edx,%edx
511891:	0f 45 f0             	cmovne %eax,%esi
511894:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
511898:	5f                   	pop    %edi
511899:	5e                   	pop    %esi
51189a:	5b                   	pop    %ebx
51189b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51189e:	33 cd                	xor    %ebp,%ecx
5118a0:	e8 35 fc 0c 00       	call   0x5e14da
5118a5:	8b e5                	mov    %ebp,%esp
5118a7:	5d                   	pop    %ebp
5118a8:	c3                   	ret
5118a9:	8b c1                	mov    %ecx,%eax
5118ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5118ae:	5f                   	pop    %edi
5118af:	5e                   	pop    %esi
5118b0:	33 cd                	xor    %ebp,%ecx
5118b2:	5b                   	pop    %ebx
5118b3:	e8 22 fc 0c 00       	call   0x5e14da
5118b8:	8b e5                	mov    %ebp,%esp
5118ba:	5d                   	pop    %ebp
5118bb:	c3                   	ret
5118bc:	cc                   	int3
5118bd:	cc                   	int3
5118be:	cc                   	int3
5118bf:	cc                   	int3
5118c0:	55                   	push   %ebp
5118c1:	8b ec                	mov    %esp,%ebp
5118c3:	51                   	push   %ecx
5118c4:	53                   	push   %ebx
5118c5:	56                   	push   %esi
5118c6:	8b 75 08             	mov    0x8(%ebp),%esi
5118c9:	57                   	push   %edi
5118ca:	8b 5e 08             	mov    0x8(%esi),%ebx
5118cd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5118d0:	85 db                	test   %ebx,%ebx
5118d2:	75 1f                	jne    0x5118f3
5118d4:	39 5e 74             	cmp    %ebx,0x74(%esi)
5118d7:	75 0c                	jne    0x5118e5
5118d9:	8b 06                	mov    (%esi),%eax
5118db:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
5118df:	75 04                	jne    0x5118e5
5118e1:	c6 46 17 01          	movb   $0x1,0x17(%esi)
5118e5:	56                   	push   %esi
5118e6:	e8 25 0b 03 00       	call   0x542410
5118eb:	83 c4 04             	add    $0x4,%esp
5118ee:	89 45 fc             	mov    %eax,-0x4(%ebp)
5118f1:	8b d8                	mov    %eax,%ebx
5118f3:	8b 55 10             	mov    0x10(%ebp),%edx
5118f6:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
5118f9:	83 7a 38 00          	cmpl   $0x0,0x38(%edx)
5118fd:	74 16                	je     0x511915
5118ff:	8b 52 40             	mov    0x40(%edx),%edx
511902:	85 d2                	test   %edx,%edx
511904:	74 11                	je     0x511917
511906:	8b 06                	mov    (%esi),%eax
511908:	39 02                	cmp    %eax,(%edx)
51190a:	74 0b                	je     0x511917
51190c:	8b 52 18             	mov    0x18(%edx),%edx
51190f:	85 d2                	test   %edx,%edx
511911:	75 f5                	jne    0x511908
511913:	eb 02                	jmp    0x511917
511915:	33 d2                	xor    %edx,%edx
511917:	bf 01 00 00 00       	mov    $0x1,%edi
51191c:	3b cf                	cmp    %edi,%ecx
51191e:	7e 69                	jle    0x511989
511920:	8b 03                	mov    (%ebx),%eax
511922:	8a 40 51             	mov    0x51(%eax),%al
511925:	88 45 0b             	mov    %al,0xb(%ebp)
511928:	8b c7                	mov    %edi,%eax
51192a:	85 ff                	test   %edi,%edi
51192c:	79 03                	jns    0x511931
51192e:	8d 41 ff             	lea    -0x1(%ecx),%eax
511931:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
511935:	74 07                	je     0x51193e
511937:	be ec 02 73 00       	mov    $0x7302ec,%esi
51193c:	eb 09                	jmp    0x511947
51193e:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
511941:	8b 43 68             	mov    0x68(%ebx),%eax
511944:	8d 34 88             	lea    (%eax,%ecx,4),%esi
511947:	8a 1e                	mov    (%esi),%bl
511949:	80 fb 60             	cmp    $0x60,%bl
51194c:	75 26                	jne    0x511974
51194e:	8b 45 0c             	mov    0xc(%ebp),%eax
511951:	39 46 0c             	cmp    %eax,0xc(%esi)
511954:	75 1e                	jne    0x511974
511956:	8b 45 10             	mov    0x10(%ebp),%eax
511959:	8b 4e 08             	mov    0x8(%esi),%ecx
51195c:	3b 48 1c             	cmp    0x1c(%eax),%ecx
51195f:	74 31                	je     0x511992
511961:	8b 40 08             	mov    0x8(%eax),%eax
511964:	85 c0                	test   %eax,%eax
511966:	74 0c                	je     0x511974
511968:	3b 48 2c             	cmp    0x2c(%eax),%ecx
51196b:	74 25                	je     0x511992
51196d:	8b 40 14             	mov    0x14(%eax),%eax
511970:	85 c0                	test   %eax,%eax
511972:	75 f4                	jne    0x511968
511974:	80 fb a5             	cmp    $0xa5,%bl
511977:	75 05                	jne    0x51197e
511979:	39 56 10             	cmp    %edx,0x10(%esi)
51197c:	74 14                	je     0x511992
51197e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
511981:	47                   	inc    %edi
511982:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
511985:	3b f9                	cmp    %ecx,%edi
511987:	7c 9f                	jl     0x511928
511989:	5f                   	pop    %edi
51198a:	5e                   	pop    %esi
51198b:	33 c0                	xor    %eax,%eax
51198d:	5b                   	pop    %ebx
51198e:	8b e5                	mov    %ebp,%esp
511990:	5d                   	pop    %ebp
511991:	c3                   	ret
511992:	5f                   	pop    %edi
511993:	5e                   	pop    %esi
511994:	b8 01 00 00 00       	mov    $0x1,%eax
511999:	5b                   	pop    %ebx
51199a:	8b e5                	mov    %ebp,%esp
51199c:	5d                   	pop    %ebp
51199d:	c3                   	ret
51199e:	cc                   	int3
51199f:	cc                   	int3
5119a0:	55                   	push   %ebp
5119a1:	8b ec                	mov    %esp,%ebp
5119a3:	83 ec 1c             	sub    $0x1c,%esp
5119a6:	8b 45 14             	mov    0x14(%ebp),%eax
5119a9:	53                   	push   %ebx
5119aa:	56                   	push   %esi
5119ab:	57                   	push   %edi
5119ac:	8b 58 38             	mov    0x38(%eax),%ebx
5119af:	0f b6 48 09          	movzbl 0x9(%eax),%ecx
5119b3:	8b 40 34             	mov    0x34(%eax),%eax
5119b6:	8b 7d 0c             	mov    0xc(%ebp),%edi
5119b9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5119bc:	8b 70 24             	mov    0x24(%eax),%esi
5119bf:	8b 00                	mov    (%eax),%eax
5119c1:	8d 14 1e             	lea    (%esi,%ebx,1),%edx
5119c4:	8b 80 d0 00 00 00    	mov    0xd0(%eax),%eax
5119ca:	89 55 f8             	mov    %edx,-0x8(%ebp)
5119cd:	8b 55 10             	mov    0x10(%ebp),%edx
5119d0:	03 d7                	add    %edi,%edx
5119d2:	89 45 ec             	mov    %eax,-0x14(%ebp)
5119d5:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
5119d8:	89 55 e8             	mov    %edx,-0x18(%ebp)
5119db:	0f b6 48 05          	movzbl 0x5(%eax),%ecx
5119df:	8b 55 14             	mov    0x14(%ebp),%edx
5119e2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5119e5:	0f b6 40 06          	movzbl 0x6(%eax),%eax
5119e9:	c1 e1 08             	shl    $0x8,%ecx
5119ec:	8b 52 40             	mov    0x40(%edx),%edx
5119ef:	0b c8                	or     %eax,%ecx
5119f1:	89 55 f4             	mov    %edx,-0xc(%ebp)
5119f4:	33 d2                	xor    %edx,%edx
5119f6:	3b ce                	cmp    %esi,%ecx
5119f8:	0f 46 d1             	cmovbe %ecx,%edx
5119fb:	2b f2                	sub    %edx,%esi
5119fd:	56                   	push   %esi
5119fe:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
511a01:	50                   	push   %eax
511a02:	8b 45 ec             	mov    -0x14(%ebp),%eax
511a05:	03 c2                	add    %edx,%eax
511a07:	50                   	push   %eax
511a08:	e8 f3 14 0d 00       	call   0x5e2f00
511a0d:	8b 4d 08             	mov    0x8(%ebp),%ecx
511a10:	83 c4 0c             	add    $0xc,%esp
511a13:	83 c1 28             	add    $0x28,%ecx
511a16:	33 c0                	xor    %eax,%eax
511a18:	39 39                	cmp    %edi,(%ecx)
511a1a:	7f 11                	jg     0x511a2d
511a1c:	0f 1f 40 00          	nopl   0x0(%eax)
511a20:	83 f8 06             	cmp    $0x6,%eax
511a23:	7d 08                	jge    0x511a2d
511a25:	83 c1 04             	add    $0x4,%ecx
511a28:	40                   	inc    %eax
511a29:	39 39                	cmp    %edi,(%ecx)
511a2b:	7e f3                	jle    0x511a20
511a2d:	8b 4d 08             	mov    0x8(%ebp),%ecx
511a30:	8d 40 04             	lea    0x4(%eax),%eax
511a33:	8b 55 f8             	mov    -0x8(%ebp),%edx
511a36:	8b da                	mov    %edx,%ebx
511a38:	8d 34 81             	lea    (%ecx,%eax,4),%esi
511a3b:	8b 06                	mov    (%esi),%eax
511a3d:	89 45 f0             	mov    %eax,-0x10(%ebp)
511a40:	8b 41 08             	mov    0x8(%ecx),%eax
511a43:	8b 49 0c             	mov    0xc(%ecx),%ecx
511a46:	8b 04 b8             	mov    (%eax,%edi,4),%eax
511a49:	0f b7 0c 79          	movzwl (%ecx,%edi,2),%ecx
511a4d:	3b 45 fc             	cmp    -0x4(%ebp),%eax
511a50:	72 18                	jb     0x511a6a
511a52:	3b c2                	cmp    %edx,%eax
511a54:	73 14                	jae    0x511a6a
511a56:	8b d1                	mov    %ecx,%edx
511a58:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
511a5b:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
511a5e:	77 77                	ja     0x511ad7
511a60:	8b 4d ec             	mov    -0x14(%ebp),%ecx
511a63:	2b 4d fc             	sub    -0x4(%ebp),%ecx
511a66:	03 c1                	add    %ecx,%eax
511a68:	eb 0f                	jmp    0x511a79
511a6a:	8b d1                	mov    %ecx,%edx
511a6c:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
511a6f:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
511a72:	76 05                	jbe    0x511a79
511a74:	3b 45 f0             	cmp    -0x10(%ebp),%eax
511a77:	72 6a                	jb     0x511ae3
511a79:	8b 7d f4             	mov    -0xc(%ebp),%edi
511a7c:	2b da                	sub    %edx,%ebx
511a7e:	8b cb                	mov    %ebx,%ecx
511a80:	2b 4d fc             	sub    -0x4(%ebp),%ecx
511a83:	c1 f9 08             	sar    $0x8,%ecx
511a86:	88 0f                	mov    %cl,(%edi)
511a88:	8a cb                	mov    %bl,%cl
511a8a:	2a 4d fc             	sub    -0x4(%ebp),%cl
511a8d:	88 4f 01             	mov    %cl,0x1(%edi)
511a90:	8b cf                	mov    %edi,%ecx
511a92:	8b 7d 0c             	mov    0xc(%ebp),%edi
511a95:	83 c1 02             	add    $0x2,%ecx
511a98:	89 4d f4             	mov    %ecx,-0xc(%ebp)
511a9b:	3b d9                	cmp    %ecx,%ebx
511a9d:	0f 82 90 00 00 00    	jb     0x511b33
511aa3:	52                   	push   %edx
511aa4:	50                   	push   %eax
511aa5:	53                   	push   %ebx
511aa6:	e8 55 14 0d 00       	call   0x5e2f00
511aab:	47                   	inc    %edi
511aac:	83 c4 0c             	add    $0xc,%esp
511aaf:	89 7d 0c             	mov    %edi,0xc(%ebp)
511ab2:	3b 7d e8             	cmp    -0x18(%ebp),%edi
511ab5:	7d 38                	jge    0x511aef
511ab7:	8b 55 f8             	mov    -0x8(%ebp),%edx
511aba:	8b 4d 08             	mov    0x8(%ebp),%ecx
511abd:	39 7e 18             	cmp    %edi,0x18(%esi)
511ac0:	0f 8f 7a ff ff ff    	jg     0x511a40
511ac6:	8b 56 04             	mov    0x4(%esi),%edx
511ac9:	83 c6 04             	add    $0x4,%esi
511acc:	89 55 f0             	mov    %edx,-0x10(%ebp)
511acf:	8b 55 f8             	mov    -0x8(%ebp),%edx
511ad2:	e9 69 ff ff ff       	jmp    0x511a40
511ad7:	68 fc c4 6b 00       	push   $0x6bc4fc
511adc:	68 8a 15 01 00       	push   $0x1158a
511ae1:	eb 5a                	jmp    0x511b3d
511ae3:	68 fc c4 6b 00       	push   $0x6bc4fc
511ae8:	68 8f 15 01 00       	push   $0x1158f
511aed:	eb 4e                	jmp    0x511b3d
511aef:	8b 4d 14             	mov    0x14(%ebp),%ecx
511af2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
511af5:	8b 45 10             	mov    0x10(%ebp),%eax
511af8:	5f                   	pop    %edi