51cc2d:	33 ff                	xor    %edi,%edi
51cc2f:	0f be c0             	movsbl %al,%eax
51cc32:	66 89 7b 32          	mov    %di,0x32(%ebx)
51cc36:	8d 7b 74             	lea    0x74(%ebx),%edi
51cc39:	66 89 4c 43 48       	mov    %cx,0x48(%ebx,%eax,2)
51cc3e:	0f be 4b 44          	movsbl 0x44(%ebx),%ecx
51cc42:	8b 07                	mov    (%edi),%eax
51cc44:	89 44 8b 78          	mov    %eax,0x78(%ebx,%ecx,4)
51cc48:	33 c0                	xor    %eax,%eax
51cc4a:	fe 43 44             	incb   0x44(%ebx)
51cc4d:	66 89 43 46          	mov    %ax,0x46(%ebx)
51cc51:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
51cc55:	50                   	push   %eax
51cc56:	53                   	push   %ebx
51cc57:	57                   	push   %edi
51cc58:	52                   	push   %edx
51cc59:	56                   	push   %esi
51cc5a:	e8 91 8d fe ff       	call   0x5059f0
51cc5f:	83 c4 14             	add    $0x14,%esp
51cc62:	85 c0                	test   %eax,%eax
51cc64:	0f 85 f5 00 00 00    	jne    0x51cd5f
51cc6a:	8b 45 e8             	mov    -0x18(%ebp),%eax
51cc6d:	e9 4e fd ff ff       	jmp    0x51c9c0
51cc72:	68 fc c4 6b 00       	push   $0x6bc4fc
51cc77:	68 dc 0f 01 00       	push   $0x10fdc
51cc7c:	68 94 c4 6b 00       	push   $0x6bc494
51cc81:	68 78 c4 6b 00       	push   $0x6bc478
51cc86:	6a 0b                	push   $0xb
51cc88:	e8 53 33 fc ff       	call   0x4dffe0
51cc8d:	83 c4 14             	add    $0x14,%esp
51cc90:	b8 0b 00 00 00       	mov    $0xb,%eax
51cc95:	5f                   	pop    %edi
51cc96:	5e                   	pop    %esi
51cc97:	5b                   	pop    %ebx
51cc98:	8b e5                	mov    %ebp,%esp
51cc9a:	5d                   	pop    %ebp
51cc9b:	c3                   	ret
51cc9c:	80 4b 01 02          	orb    $0x2,0x1(%ebx)
51cca0:	89 43 20             	mov    %eax,0x20(%ebx)
51cca3:	33 c0                	xor    %eax,%eax
51cca5:	66 89 43 32          	mov    %ax,0x32(%ebx)
51cca9:	8b 45 1c             	mov    0x1c(%ebp),%eax
51ccac:	5f                   	pop    %edi
51ccad:	89 4b 24             	mov    %ecx,0x24(%ebx)
51ccb0:	5e                   	pop    %esi
51ccb1:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
51ccb7:	33 c0                	xor    %eax,%eax
51ccb9:	5b                   	pop    %ebx
51ccba:	8b e5                	mov    %ebp,%esp
51ccbc:	5d                   	pop    %ebp
51ccbd:	c3                   	ret
51ccbe:	68 fc c4 6b 00       	push   $0x6bc4fc
51ccc3:	68 40 0e 01 00       	push   $0x10e40
51ccc8:	e9 79 00 00 00       	jmp    0x51cd46
51cccd:	8b 45 1c             	mov    0x1c(%ebp),%eax
51ccd0:	66 89 7b 46          	mov    %di,0x46(%ebx)
51ccd4:	5f                   	pop    %edi
51ccd5:	89 30                	mov    %esi,(%eax)
51ccd7:	33 c0                	xor    %eax,%eax
51ccd9:	33 c9                	xor    %ecx,%ecx
51ccdb:	5e                   	pop    %esi
51ccdc:	66 89 4b 32          	mov    %cx,0x32(%ebx)
51cce0:	5b                   	pop    %ebx
51cce1:	8b e5                	mov    %ebp,%esp
51cce3:	5d                   	pop    %ebp
51cce4:	c3                   	ret
51cce5:	8b 45 1c             	mov    0x1c(%ebp),%eax
51cce8:	8b 5d 08             	mov    0x8(%ebp),%ebx
51cceb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
51ccee:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
51ccf4:	33 c0                	xor    %eax,%eax
51ccf6:	66 89 7b 46          	mov    %di,0x46(%ebx)
51ccfa:	38 41 0b             	cmp    %al,0xb(%ecx)
51ccfd:	74 60                	je     0x51cd5f
51ccff:	68 fc c4 6b 00       	push   $0x6bc4fc
51cd04:	68 47 10 01 00       	push   $0x11047
51cd09:	eb 3b                	jmp    0x51cd46
51cd0b:	53                   	push   %ebx
51cd0c:	e8 7f e0 fc ff       	call   0x4ead90
51cd11:	8b 5d 08             	mov    0x8(%ebp),%ebx
51cd14:	83 c4 04             	add    $0x4,%esp
51cd17:	8b 45 e4             	mov    -0x1c(%ebp),%eax
51cd1a:	33 c9                	xor    %ecx,%ecx
51cd1c:	5f                   	pop    %edi
51cd1d:	5e                   	pop    %esi
51cd1e:	66 89 4b 32          	mov    %cx,0x32(%ebx)
51cd22:	5b                   	pop    %ebx
51cd23:	8b e5                	mov    %ebp,%esp
51cd25:	5d                   	pop    %ebp
51cd26:	c3                   	ret
51cd27:	8b 5d 08             	mov    0x8(%ebp),%ebx
51cd2a:	33 c9                	xor    %ecx,%ecx
51cd2c:	5f                   	pop    %edi
51cd2d:	5e                   	pop    %esi
51cd2e:	b8 07 00 00 00       	mov    $0x7,%eax
51cd33:	66 89 4b 32          	mov    %cx,0x32(%ebx)
51cd37:	5b                   	pop    %ebx
51cd38:	8b e5                	mov    %ebp,%esp
51cd3a:	5d                   	pop    %ebp
51cd3b:	c3                   	ret
51cd3c:	68 fc c4 6b 00       	push   $0x6bc4fc
51cd41:	68 27 10 01 00       	push   $0x11027
51cd46:	68 94 c4 6b 00       	push   $0x6bc494
51cd4b:	68 78 c4 6b 00       	push   $0x6bc478
51cd50:	6a 0b                	push   $0xb
51cd52:	e8 89 32 fc ff       	call   0x4dffe0
51cd57:	83 c4 14             	add    $0x14,%esp
51cd5a:	b8 0b 00 00 00       	mov    $0xb,%eax
51cd5f:	33 c9                	xor    %ecx,%ecx
51cd61:	66 89 4b 32          	mov    %cx,0x32(%ebx)
51cd65:	5f                   	pop    %edi
51cd66:	5e                   	pop    %esi
51cd67:	5b                   	pop    %ebx
51cd68:	8b e5                	mov    %ebp,%esp
51cd6a:	5d                   	pop    %ebp
51cd6b:	c3                   	ret
51cd6c:	cc                   	int3
51cd6d:	cc                   	int3
51cd6e:	cc                   	int3
51cd6f:	cc                   	int3
51cd70:	55                   	push   %ebp
51cd71:	8b ec                	mov    %esp,%ebp
51cd73:	8b 4d 08             	mov    0x8(%ebp),%ecx
51cd76:	33 c0                	xor    %eax,%eax
51cd78:	80 61 01 f9          	andb   $0xf9,0x1(%ecx)
51cd7c:	66 89 41 32          	mov    %ax,0x32(%ecx)
51cd80:	38 01                	cmp    %al,(%ecx)
51cd82:	75 18                	jne    0x51cd9c
51cd84:	8b 41 74             	mov    0x74(%ecx),%eax
51cd87:	66 ff 41 46          	incw   0x46(%ecx)
51cd8b:	0f b7 51 46          	movzwl 0x46(%ecx),%edx
51cd8f:	66 3b 50 18          	cmp    0x18(%eax),%dx
51cd93:	72 12                	jb     0x51cda7
51cd95:	8d 42 ff             	lea    -0x1(%edx),%eax
51cd98:	66 89 41 46          	mov    %ax,0x46(%ecx)
51cd9c:	51                   	push   %ecx
51cd9d:	e8 8e a3 fd ff       	call   0x4f7130
51cda2:	83 c4 04             	add    $0x4,%esp
51cda5:	5d                   	pop    %ebp
51cda6:	c3                   	ret
51cda7:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
51cdab:	74 04                	je     0x51cdb1
51cdad:	33 c0                	xor    %eax,%eax
51cdaf:	5d                   	pop    %ebp
51cdb0:	c3                   	ret
51cdb1:	51                   	push   %ecx
51cdb2:	e8 69 cc fe ff       	call   0x509a20
51cdb7:	83 c4 04             	add    $0x4,%esp
51cdba:	5d                   	pop    %ebp
51cdbb:	c3                   	ret
51cdbc:	cc                   	int3
51cdbd:	cc                   	int3
51cdbe:	cc                   	int3
51cdbf:	cc                   	int3
51cdc0:	55                   	push   %ebp
51cdc1:	8b ec                	mov    %esp,%ebp
51cdc3:	81 ec 90 00 00 00    	sub    $0x90,%esp
51cdc9:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51cdce:	33 c5                	xor    %ebp,%eax
51cdd0:	89 45 fc             	mov    %eax,-0x4(%ebp)
51cdd3:	8b 45 08             	mov    0x8(%ebp),%eax
51cdd6:	8b 55 14             	mov    0x14(%ebp),%edx
51cdd9:	8b 4d 10             	mov    0x10(%ebp),%ecx
51cddc:	53                   	push   %ebx
51cddd:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
51cde3:	8b 45 0c             	mov    0xc(%ebp),%eax
51cde6:	89 55 88             	mov    %edx,-0x78(%ebp)
51cde9:	33 d2                	xor    %edx,%edx
51cdeb:	89 45 84             	mov    %eax,-0x7c(%ebp)
51cdee:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
51cdf1:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
51cdf7:	89 55 94             	mov    %edx,-0x6c(%ebp)
51cdfa:	56                   	push   %esi
51cdfb:	57                   	push   %edi
51cdfc:	85 c0                	test   %eax,%eax
51cdfe:	74 08                	je     0x51ce08
51ce00:	38 10                	cmp    %dl,(%eax)
51ce02:	74 04                	je     0x51ce08
51ce04:	33 ff                	xor    %edi,%edi
51ce06:	eb 05                	jmp    0x51ce0d
51ce08:	bf 01 00 00 00       	mov    $0x1,%edi
51ce0d:	85 c0                	test   %eax,%eax
51ce0f:	74 31                	je     0x51ce42
51ce11:	b9 ac 82 6b 00       	mov    $0x6b82ac,%ecx
51ce16:	8a 10                	mov    (%eax),%dl
51ce18:	3a 11                	cmp    (%ecx),%dl
51ce1a:	75 1a                	jne    0x51ce36
51ce1c:	84 d2                	test   %dl,%dl
51ce1e:	74 12                	je     0x51ce32
51ce20:	8a 50 01             	mov    0x1(%eax),%dl
51ce23:	3a 51 01             	cmp    0x1(%ecx),%dl
51ce26:	75 0e                	jne    0x51ce36
51ce28:	83 c0 02             	add    $0x2,%eax
51ce2b:	83 c1 02             	add    $0x2,%ecx
51ce2e:	84 d2                	test   %dl,%dl
51ce30:	75 e4                	jne    0x51ce16
51ce32:	33 c0                	xor    %eax,%eax
51ce34:	eb 05                	jmp    0x51ce3b
51ce36:	1b c0                	sbb    %eax,%eax
51ce38:	83 c8 01             	or     $0x1,%eax
51ce3b:	85 c0                	test   %eax,%eax
51ce3d:	74 1b                	je     0x51ce5a
51ce3f:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
51ce42:	85 ff                	test   %edi,%edi
51ce44:	74 06                	je     0x51ce4c
51ce46:	80 79 50 02          	cmpb   $0x2,0x50(%ecx)
51ce4a:	74 0e                	je     0x51ce5a
51ce4c:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
51ce4f:	84 db                	test   %bl,%bl
51ce51:	78 0a                	js     0x51ce5d
51ce53:	8b 45 18             	mov    0x18(%ebp),%eax
51ce56:	33 c9                	xor    %ecx,%ecx
51ce58:	eb 0e                	jmp    0x51ce68
51ce5a:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
51ce5d:	8b 45 18             	mov    0x18(%ebp),%eax
51ce60:	b9 01 00 00 00       	mov    $0x1,%ecx
51ce65:	83 c8 02             	or     $0x2,%eax
51ce68:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
51ce6e:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
51ce74:	f7 c3 00 01 00 00    	test   $0x100,%ebx
51ce7a:	74 17                	je     0x51ce93
51ce7c:	85 c9                	test   %ecx,%ecx
51ce7e:	75 04                	jne    0x51ce84
51ce80:	85 ff                	test   %edi,%edi
51ce82:	74 0f                	je     0x51ce93
51ce84:	81 e3 ff fe ff ff    	and    $0xfffffeff,%ebx
51ce8a:	81 cb 00 02 00 00    	or     $0x200,%ebx
51ce90:	89 5d 1c             	mov    %ebx,0x1c(%ebp)
51ce93:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
51ce9a:	74 3b                	je     0x51ced7
51ce9c:	a1 90 ff 72 00       	mov    0x72ff90,%eax
51cea1:	85 c0                	test   %eax,%eax
51cea3:	74 0a                	je     0x51ceaf
51cea5:	50                   	push   %eax
51cea6:	ff 15 60 18 72 00    	call   *0x721860
51ceac:	83 c4 04             	add    $0x4,%esp
51ceaf:	8d 45 90             	lea    -0x70(%ebp),%eax
51ceb2:	50                   	push   %eax
51ceb3:	6a 30                	push   $0x30
51ceb5:	e8 46 c4 fe ff       	call   0x509300
51ceba:	a1 90 ff 72 00       	mov    0x72ff90,%eax
51cebf:	83 c4 08             	add    $0x8,%esp
51cec2:	85 c0                	test   %eax,%eax
51cec4:	74 0c                	je     0x51ced2
51cec6:	50                   	push   %eax
51cec7:	ff 15 68 18 72 00    	call   *0x721868
51cecd:	8b 75 90             	mov    -0x70(%ebp),%esi
51ced0:	eb 0f                	jmp    0x51cee1
51ced2:	8b 75 90             	mov    -0x70(%ebp),%esi
51ced5:	eb 0d                	jmp    0x51cee4
51ced7:	6a 30                	push   $0x30
51ced9:	ff 15 30 18 72 00    	call   *0x721830
51cedf:	8b f0                	mov    %eax,%esi
51cee1:	83 c4 04             	add    $0x4,%esp
51cee4:	85 f6                	test   %esi,%esi
51cee6:	0f 84 9a 00 00 00    	je     0x51cf86
51ceec:	6a 30                	push   $0x30
51ceee:	6a 00                	push   $0x0
51cef0:	56                   	push   %esi
51cef1:	e8 0a 6b 0c 00       	call   0x5e3a00
51cef6:	8b 45 8c             	mov    -0x74(%ebp),%eax
51cef9:	83 c4 0c             	add    $0xc,%esp
51cefc:	c6 46 08 00          	movb   $0x0,0x8(%esi)
51cf00:	89 06                	mov    %eax,(%esi)
51cf02:	89 76 20             	mov    %esi,0x20(%esi)
51cf05:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
51cf0c:	85 ff                	test   %edi,%edi
51cf0e:	0f 85 10 02 00 00    	jne    0x51d124
51cf14:	39 bd 78 ff ff ff    	cmp    %edi,-0x88(%ebp)
51cf1a:	74 09                	je     0x51cf25
51cf1c:	f6 c3 40             	test   $0x40,%bl
51cf1f:	0f 84 ff 01 00 00    	je     0x51d124
51cf25:	f7 c3 00 00 02 00    	test   $0x20000,%ebx
51cf2b:	0f 84 f3 01 00 00    	je     0x51d124
51cf31:	8b 45 84             	mov    -0x7c(%ebp),%eax
51cf34:	85 c0                	test   %eax,%eax
51cf36:	75 04                	jne    0x51cf3c
51cf38:	33 c9                	xor    %ecx,%ecx
51cf3a:	eb 14                	jmp    0x51cf50
51cf3c:	8b c8                	mov    %eax,%ecx
51cf3e:	8d 51 01             	lea    0x1(%ecx),%edx
51cf41:	8a 01                	mov    (%ecx),%al
51cf43:	41                   	inc    %ecx
51cf44:	84 c0                	test   %al,%al
51cf46:	75 f9                	jne    0x51cf41
51cf48:	2b ca                	sub    %edx,%ecx
51cf4a:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
51cf50:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
51cf56:	8d 79 01             	lea    0x1(%ecx),%edi
51cf59:	8b 40 08             	mov    0x8(%eax),%eax
51cf5c:	8d 58 01             	lea    0x1(%eax),%ebx
51cf5f:	3b df                	cmp    %edi,%ebx
51cf61:	0f 4f c8             	cmovg  %eax,%ecx
51cf64:	8d 41 01             	lea    0x1(%ecx),%eax
51cf67:	99                   	cltd
51cf68:	52                   	push   %edx
51cf69:	50                   	push   %eax
51cf6a:	e8 f1 3f 01 00       	call   0x530f60
51cf6f:	83 c4 08             	add    $0x8,%esp
51cf72:	89 45 80             	mov    %eax,-0x80(%ebp)
51cf75:	c6 46 09 01          	movb   $0x1,0x9(%esi)
51cf79:	85 c0                	test   %eax,%eax
51cf7b:	75 1f                	jne    0x51cf9c
51cf7d:	56                   	push   %esi
51cf7e:	e8 0d de fc ff       	call   0x4ead90
51cf83:	83 c4 04             	add    $0x4,%esp
51cf86:	5f                   	pop    %edi
51cf87:	5e                   	pop    %esi
51cf88:	b8 07 00 00 00       	mov    $0x7,%eax
51cf8d:	5b                   	pop    %ebx
51cf8e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51cf91:	33 cd                	xor    %ebp,%ecx
51cf93:	e8 42 45 0c 00       	call   0x5e14da
51cf98:	8b e5                	mov    %ebp,%esp
51cf9a:	5d                   	pop    %ebp
51cf9b:	c3                   	ret
51cf9c:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
51cfa3:	74 26                	je     0x51cfcb
51cfa5:	57                   	push   %edi
51cfa6:	ff 75 84             	push   -0x7c(%ebp)
51cfa9:	50                   	push   %eax
51cfaa:	e8 51 5f 0c 00       	call   0x5e2f00
51cfaf:	83 c4 0c             	add    $0xc,%esp
51cfb2:	80 3d 14 18 72 00 00 	cmpb   $0x0,0x721814
51cfb9:	75 65                	jne    0x51d020
51cfbb:	33 d2                	xor    %edx,%edx
51cfbd:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
51cfc3:	89 55 90             	mov    %edx,-0x70(%ebp)
51cfc6:	e9 a2 00 00 00       	jmp    0x51d06d
51cfcb:	50                   	push   %eax
51cfcc:	c6 00 00             	movb   $0x0,(%eax)
51cfcf:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
51cfd5:	53                   	push   %ebx
51cfd6:	ff 75 84             	push   -0x7c(%ebp)
51cfd9:	50                   	push   %eax
51cfda:	8b 40 24             	mov    0x24(%eax),%eax
51cfdd:	ff d0                	call   *%eax
51cfdf:	8b d8                	mov    %eax,%ebx
51cfe1:	83 c4 10             	add    $0x10,%esp
51cfe4:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
51cfe7:	85 db                	test   %ebx,%ebx
51cfe9:	74 c7                	je     0x51cfb2
51cfeb:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
51cff1:	75 09                	jne    0x51cffc
51cff3:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
51cffa:	eb b6                	jmp    0x51cfb2
51cffc:	ff 75 80             	push   -0x80(%ebp)
51cfff:	e8 8c dd fc ff       	call   0x4ead90
51d004:	56                   	push   %esi
51d005:	e8 86 dd fc ff       	call   0x4ead90