50cc04:	a1 90 ff 72 00       	mov    0x72ff90,%eax
50cc09:	83 c4 08             	add    $0x8,%esp
50cc0c:	85 c0                	test   %eax,%eax
50cc0e:	74 18                	je     0x50cc28
50cc10:	50                   	push   %eax
50cc11:	ff 15 68 18 72 00    	call   *0x721868
50cc17:	eb 07                	jmp    0x50cc20
50cc19:	56                   	push   %esi
50cc1a:	ff 15 34 18 72 00    	call   *0x721834
50cc20:	a1 90 ff 72 00       	mov    0x72ff90,%eax
50cc25:	83 c4 04             	add    $0x4,%esp
50cc28:	8b f7                	mov    %edi,%esi
50cc2a:	85 ff                	test   %edi,%edi
50cc2c:	75 a2                	jne    0x50cbd0
50cc2e:	5f                   	pop    %edi
50cc2f:	5e                   	pop    %esi
50cc30:	5d                   	pop    %ebp
50cc31:	c3                   	ret
50cc32:	cc                   	int3
50cc33:	cc                   	int3
50cc34:	cc                   	int3
50cc35:	cc                   	int3
50cc36:	cc                   	int3
50cc37:	cc                   	int3
50cc38:	cc                   	int3
50cc39:	cc                   	int3
50cc3a:	cc                   	int3
50cc3b:	cc                   	int3
50cc3c:	cc                   	int3
50cc3d:	cc                   	int3
50cc3e:	cc                   	int3
50cc3f:	cc                   	int3
50cc40:	55                   	push   %ebp
50cc41:	8b ec                	mov    %esp,%ebp
50cc43:	53                   	push   %ebx
50cc44:	8b 5d 0c             	mov    0xc(%ebp),%ebx
50cc47:	56                   	push   %esi
50cc48:	8b 75 08             	mov    0x8(%ebp),%esi
50cc4b:	8a 56 11             	mov    0x11(%esi),%dl
50cc4e:	0f b6 ca             	movzbl %dl,%ecx
50cc51:	3b cb                	cmp    %ebx,%ecx
50cc53:	7c 0b                	jl     0x50cc60
50cc55:	80 fa 05             	cmp    $0x5,%dl
50cc58:	74 06                	je     0x50cc60
50cc5a:	5e                   	pop    %esi
50cc5b:	33 c0                	xor    %eax,%eax
50cc5d:	5b                   	pop    %ebx
50cc5e:	5d                   	pop    %ebp
50cc5f:	c3                   	ret
50cc60:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
50cc64:	74 04                	je     0x50cc6a
50cc66:	33 c0                	xor    %eax,%eax
50cc68:	eb 13                	jmp    0x50cc7d
50cc6a:	8b 46 3c             	mov    0x3c(%esi),%eax
50cc6d:	53                   	push   %ebx
50cc6e:	50                   	push   %eax
50cc6f:	8b 08                	mov    (%eax),%ecx
50cc71:	8b 41 1c             	mov    0x1c(%ecx),%eax
50cc74:	ff d0                	call   *%eax
50cc76:	83 c4 08             	add    $0x8,%esp
50cc79:	85 c0                	test   %eax,%eax
50cc7b:	75 0e                	jne    0x50cc8b
50cc7d:	80 7e 11 05          	cmpb   $0x5,0x11(%esi)
50cc81:	75 05                	jne    0x50cc88
50cc83:	83 fb 04             	cmp    $0x4,%ebx
50cc86:	75 03                	jne    0x50cc8b
50cc88:	88 5e 11             	mov    %bl,0x11(%esi)
50cc8b:	5e                   	pop    %esi
50cc8c:	5b                   	pop    %ebx
50cc8d:	5d                   	pop    %ebp
50cc8e:	c3                   	ret
50cc8f:	cc                   	int3
50cc90:	55                   	push   %ebp
50cc91:	8b ec                	mov    %esp,%ebp
50cc93:	8b 45 0c             	mov    0xc(%ebp),%eax
50cc96:	53                   	push   %ebx
50cc97:	56                   	push   %esi
50cc98:	57                   	push   %edi
50cc99:	8b 7d 08             	mov    0x8(%ebp),%edi
50cc9c:	8d 04 40             	lea    (%eax,%eax,2),%eax
50cc9f:	c1 e0 04             	shl    $0x4,%eax
50cca2:	6a 00                	push   $0x0
50cca4:	50                   	push   %eax
50cca5:	ff 77 5c             	push   0x5c(%edi)
50cca8:	8b 5f 60             	mov    0x60(%edi),%ebx
50ccab:	e8 c0 a8 02 00       	call   0x537570
50ccb0:	8b f0                	mov    %eax,%esi
50ccb2:	83 c4 0c             	add    $0xc,%esp
50ccb5:	85 f6                	test   %esi,%esi
50ccb7:	75 0a                	jne    0x50ccc3
50ccb9:	5f                   	pop    %edi
50ccba:	5e                   	pop    %esi
50ccbb:	b8 07 00 00 00       	mov    $0x7,%eax
50ccc0:	5b                   	pop    %ebx
50ccc1:	5d                   	pop    %ebp
50ccc2:	c3                   	ret
50ccc3:	8b 45 0c             	mov    0xc(%ebp),%eax
50ccc6:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
50ccc9:	2b c3                	sub    %ebx,%eax
50cccb:	c1 e1 04             	shl    $0x4,%ecx
50ccce:	03 ce                	add    %esi,%ecx
50ccd0:	89 4d 08             	mov    %ecx,0x8(%ebp)
50ccd3:	8d 04 40             	lea    (%eax,%eax,2),%eax
50ccd6:	c1 e0 04             	shl    $0x4,%eax
50ccd9:	50                   	push   %eax
50ccda:	6a 00                	push   $0x0
50ccdc:	51                   	push   %ecx
50ccdd:	e8 1e 6d 0d 00       	call   0x5e3a00
50cce2:	83 c4 0c             	add    $0xc,%esp
50cce5:	89 77 5c             	mov    %esi,0x5c(%edi)
50cce8:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
50cceb:	0f 8d 82 00 00 00    	jge    0x50cd73
50ccf1:	8b 75 08             	mov    0x8(%ebp),%esi
50ccf4:	83 c6 24             	add    $0x24,%esi
50ccf7:	8b 47 18             	mov    0x18(%edi),%eax
50ccfa:	89 46 f0             	mov    %eax,-0x10(%esi)
50ccfd:	8b 47 40             	mov    0x40(%edi),%eax
50cd00:	83 38 00             	cmpl   $0x0,(%eax)
50cd03:	74 15                	je     0x50cd1a
50cd05:	8b 4f 4c             	mov    0x4c(%edi),%ecx
50cd08:	8b 47 48             	mov    0x48(%edi),%eax
50cd0b:	85 c9                	test   %ecx,%ecx
50cd0d:	7c 0b                	jl     0x50cd1a
50cd0f:	7f 04                	jg     0x50cd15
50cd11:	85 c0                	test   %eax,%eax
50cd13:	74 05                	je     0x50cd1a
50cd15:	89 4e e0             	mov    %ecx,-0x20(%esi)
50cd18:	eb 0d                	jmp    0x50cd27
50cd1a:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
50cd20:	c7 46 e0 00 00 00 00 	movl   $0x0,-0x20(%esi)
50cd27:	89 46 dc             	mov    %eax,-0x24(%esi)
50cd2a:	8b 47 34             	mov    0x34(%edi),%eax
50cd2d:	89 46 f4             	mov    %eax,-0xc(%esi)
50cd30:	ff 77 18             	push   0x18(%edi)
50cd33:	e8 f8 d8 00 00       	call   0x51a630
50cd38:	83 c4 04             	add    $0x4,%esp
50cd3b:	89 46 ec             	mov    %eax,-0x14(%esi)
50cd3e:	85 c0                	test   %eax,%eax
50cd40:	0f 84 73 ff ff ff    	je     0x50ccb9
50cd46:	8b 8f d8 00 00 00    	mov    0xd8(%edi),%ecx
50cd4c:	85 c9                	test   %ecx,%ecx
50cd4e:	74 17                	je     0x50cd67
50cd50:	8b 41 44             	mov    0x44(%ecx),%eax
50cd53:	89 46 f8             	mov    %eax,-0x8(%esi)
50cd56:	8b 41 4c             	mov    0x4c(%ecx),%eax
50cd59:	89 46 fc             	mov    %eax,-0x4(%esi)
50cd5c:	8b 41 50             	mov    0x50(%ecx),%eax
50cd5f:	89 06                	mov    %eax,(%esi)
50cd61:	8b 41 70             	mov    0x70(%ecx),%eax
50cd64:	89 46 04             	mov    %eax,0x4(%esi)
50cd67:	43                   	inc    %ebx
50cd68:	83 c6 30             	add    $0x30,%esi
50cd6b:	89 5f 60             	mov    %ebx,0x60(%edi)
50cd6e:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
50cd71:	7c 84                	jl     0x50ccf7
50cd73:	5f                   	pop    %edi
50cd74:	5e                   	pop    %esi
50cd75:	33 c0                	xor    %eax,%eax
50cd77:	5b                   	pop    %ebx
50cd78:	5d                   	pop    %ebp
50cd79:	c3                   	ret
50cd7a:	cc                   	int3
50cd7b:	cc                   	int3
50cd7c:	cc                   	int3
50cd7d:	cc                   	int3
50cd7e:	cc                   	int3
50cd7f:	cc                   	int3
50cd80:	55                   	push   %ebp
50cd81:	8b ec                	mov    %esp,%ebp
50cd83:	56                   	push   %esi
50cd84:	8b 75 08             	mov    0x8(%ebp),%esi
50cd87:	57                   	push   %edi
50cd88:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
50cd8c:	74 0f                	je     0x50cd9d
50cd8e:	56                   	push   %esi
50cd8f:	e8 bc fc ff ff       	call   0x50ca50
50cd94:	8b f8                	mov    %eax,%edi
50cd96:	83 c4 04             	add    $0x4,%esp
50cd99:	85 ff                	test   %edi,%edi
50cd9b:	75 2d                	jne    0x50cdca
50cd9d:	8d 86 d8 00 00 00    	lea    0xd8(%esi),%eax
50cda3:	50                   	push   %eax
50cda4:	ff b6 a4 00 00 00    	push   0xa4(%esi)
50cdaa:	0f b6 46 04          	movzbl 0x4(%esi),%eax
50cdae:	ff b6 a0 00 00 00    	push   0xa0(%esi)
50cdb4:	50                   	push   %eax
50cdb5:	ff b6 dc 00 00 00    	push   0xdc(%esi)
50cdbb:	ff 76 3c             	push   0x3c(%esi)
50cdbe:	ff 36                	push   (%esi)
50cdc0:	e8 cb 2d 04 00       	call   0x54fb90
50cdc5:	83 c4 1c             	add    $0x1c,%esp
50cdc8:	8b f8                	mov    %eax,%edi
50cdca:	56                   	push   %esi
50cdcb:	e8 00 fd ff ff       	call   0x50cad0
50cdd0:	83 c4 04             	add    $0x4,%esp
50cdd3:	8b c7                	mov    %edi,%eax
50cdd5:	5f                   	pop    %edi
50cdd6:	5e                   	pop    %esi
50cdd7:	5d                   	pop    %ebp
50cdd8:	c3                   	ret
50cdd9:	cc                   	int3
50cdda:	cc                   	int3
50cddb:	cc                   	int3
50cddc:	cc                   	int3
50cddd:	cc                   	int3
50cdde:	cc                   	int3
50cddf:	cc                   	int3
50cde0:	55                   	push   %ebp
50cde1:	8b ec                	mov    %esp,%ebp
50cde3:	83 ec 0c             	sub    $0xc,%esp
50cde6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50cdeb:	33 c5                	xor    %ebp,%eax
50cded:	89 45 fc             	mov    %eax,-0x4(%ebp)
50cdf0:	56                   	push   %esi
50cdf1:	8b 75 08             	mov    0x8(%ebp),%esi
50cdf4:	33 c0                	xor    %eax,%eax
50cdf6:	38 46 0c             	cmp    %al,0xc(%esi)
50cdf9:	75 79                	jne    0x50ce74
50cdfb:	8b 06                	mov    (%esi),%eax
50cdfd:	8d 4d f8             	lea    -0x8(%ebp),%ecx
50ce00:	51                   	push   %ecx
50ce01:	6a 00                	push   $0x0
50ce03:	ff b6 dc 00 00 00    	push   0xdc(%esi)
50ce09:	50                   	push   %eax
50ce0a:	8b 40 20             	mov    0x20(%eax),%eax
50ce0d:	ff d0                	call   *%eax
50ce0f:	83 c4 10             	add    $0x10,%esp
50ce12:	85 c0                	test   %eax,%eax
50ce14:	75 5e                	jne    0x50ce74
50ce16:	39 45 f8             	cmp    %eax,-0x8(%ebp)
50ce19:	74 4f                	je     0x50ce6a
50ce1b:	8d 45 f4             	lea    -0xc(%ebp),%eax
50ce1e:	50                   	push   %eax
50ce1f:	56                   	push   %esi
50ce20:	e8 6b 00 00 00       	call   0x50ce90
50ce25:	83 c4 08             	add    $0x8,%esp
50ce28:	85 c0                	test   %eax,%eax
50ce2a:	75 48                	jne    0x50ce74
50ce2c:	50                   	push   %eax
50ce2d:	39 45 f4             	cmp    %eax,-0xc(%ebp)
50ce30:	75 20                	jne    0x50ce52
50ce32:	8b 06                	mov    (%esi),%eax
50ce34:	ff b6 dc 00 00 00    	push   0xdc(%esi)
50ce3a:	50                   	push   %eax
50ce3b:	8b 40 1c             	mov    0x1c(%eax),%eax
50ce3e:	ff d0                	call   *%eax
50ce40:	83 c4 0c             	add    $0xc,%esp
50ce43:	5e                   	pop    %esi
50ce44:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50ce47:	33 cd                	xor    %ebp,%ecx
50ce49:	e8 8c 46 0d 00       	call   0x5e14da
50ce4e:	8b e5                	mov    %ebp,%esp
50ce50:	5d                   	pop    %ebp
50ce51:	c3                   	ret
50ce52:	56                   	push   %esi
50ce53:	e8 28 62 02 00       	call   0x533080
50ce58:	83 c4 08             	add    $0x8,%esp
50ce5b:	5e                   	pop    %esi
50ce5c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50ce5f:	33 cd                	xor    %ebp,%ecx
50ce61:	e8 74 46 0d 00       	call   0x5e14da
50ce66:	8b e5                	mov    %ebp,%esp
50ce68:	5d                   	pop    %ebp
50ce69:	c3                   	ret
50ce6a:	80 7e 05 05          	cmpb   $0x5,0x5(%esi)
50ce6e:	75 04                	jne    0x50ce74
50ce70:	c6 46 05 00          	movb   $0x0,0x5(%esi)
50ce74:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50ce77:	33 cd                	xor    %ebp,%ecx
50ce79:	5e                   	pop    %esi
50ce7a:	e8 5b 46 0d 00       	call   0x5e14da
50ce7f:	8b e5                	mov    %ebp,%esp
50ce81:	5d                   	pop    %ebp
50ce82:	c3                   	ret
50ce83:	cc                   	int3
50ce84:	cc                   	int3
50ce85:	cc                   	int3
50ce86:	cc                   	int3
50ce87:	cc                   	int3
50ce88:	cc                   	int3
50ce89:	cc                   	int3
50ce8a:	cc                   	int3
50ce8b:	cc                   	int3
50ce8c:	cc                   	int3
50ce8d:	cc                   	int3
50ce8e:	cc                   	int3
50ce8f:	cc                   	int3
50ce90:	55                   	push   %ebp
50ce91:	8b ec                	mov    %esp,%ebp
50ce93:	83 ec 0c             	sub    $0xc,%esp
50ce96:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50ce9b:	33 c5                	xor    %ebp,%eax
50ce9d:	89 45 fc             	mov    %eax,-0x4(%ebp)
50cea0:	53                   	push   %ebx
50cea1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
50cea4:	57                   	push   %edi
50cea5:	8b 7d 08             	mov    0x8(%ebp),%edi
50cea8:	8b 87 d8 00 00 00    	mov    0xd8(%edi),%eax
50ceae:	85 c0                	test   %eax,%eax
50ceb0:	74 10                	je     0x50cec2
50ceb2:	66 83 78 28 00       	cmpw   $0x0,0x28(%eax)
50ceb7:	7c 09                	jl     0x50cec2
50ceb9:	8b 40 48             	mov    0x48(%eax),%eax
50cebc:	85 c0                	test   %eax,%eax
50cebe:	75 4b                	jne    0x50cf0b
50cec0:	eb 02                	jmp    0x50cec4
50cec2:	33 c0                	xor    %eax,%eax
50cec4:	8b 4f 3c             	mov    0x3c(%edi),%ecx
50cec7:	83 39 00             	cmpl   $0x0,(%ecx)
50ceca:	74 3f                	je     0x50cf0b
50cecc:	0f 57 c0             	xorps  %xmm0,%xmm0
50cecf:	8d 55 f4             	lea    -0xc(%ebp),%edx
50ced2:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
50ced7:	8b 01                	mov    (%ecx),%eax
50ced9:	52                   	push   %edx
50ceda:	51                   	push   %ecx
50cedb:	8b 40 18             	mov    0x18(%eax),%eax
50cede:	ff d0                	call   *%eax
50cee0:	83 c4 08             	add    $0x8,%esp
50cee3:	85 c0                	test   %eax,%eax
50cee5:	75 36                	jne    0x50cf1d
50cee7:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
50ceed:	99                   	cltd
50ceee:	56                   	push   %esi
50ceef:	8b f0                	mov    %eax,%esi
50cef1:	8b c2                	mov    %edx,%eax
50cef3:	8b ce                	mov    %esi,%ecx
50cef5:	03 4d f4             	add    -0xc(%ebp),%ecx
50cef8:	52                   	push   %edx
50cef9:	13 45 f8             	adc    -0x8(%ebp),%eax
50cefc:	83 e9 01             	sub    $0x1,%ecx
50ceff:	56                   	push   %esi
50cf00:	83 d8 00             	sbb    $0x0,%eax
50cf03:	50                   	push   %eax
50cf04:	51                   	push   %ecx
50cf05:	e8 36 4c 0d 00       	call   0x5e1b40
50cf0a:	5e                   	pop    %esi
50cf0b:	3b 87 9c 00 00 00    	cmp    0x9c(%edi),%eax
50cf11:	76 06                	jbe    0x50cf19
50cf13:	89 87 9c 00 00 00    	mov    %eax,0x9c(%edi)
50cf19:	89 03                	mov    %eax,(%ebx)
50cf1b:	33 c0                	xor    %eax,%eax
50cf1d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50cf20:	5f                   	pop    %edi
50cf21:	33 cd                	xor    %ebp,%ecx
50cf23:	5b                   	pop    %ebx
50cf24:	e8 b1 45 0d 00       	call   0x5e14da
50cf29:	8b e5                	mov    %ebp,%esp
50cf2b:	5d                   	pop    %ebp
50cf2c:	c3                   	ret