51bc60:	5e                   	pop    %esi
51bc61:	5b                   	pop    %ebx
51bc62:	8b e5                	mov    %ebp,%esp
51bc64:	5d                   	pop    %ebp
51bc65:	c3                   	ret
51bc66:	cc                   	int3
51bc67:	cc                   	int3
51bc68:	cc                   	int3
51bc69:	cc                   	int3
51bc6a:	cc                   	int3
51bc6b:	cc                   	int3
51bc6c:	cc                   	int3
51bc6d:	cc                   	int3
51bc6e:	cc                   	int3
51bc6f:	cc                   	int3
51bc70:	55                   	push   %ebp
51bc71:	8b ec                	mov    %esp,%ebp
51bc73:	83 ec 44             	sub    $0x44,%esp
51bc76:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51bc7b:	33 c5                	xor    %ebp,%eax
51bc7d:	89 45 fc             	mov    %eax,-0x4(%ebp)
51bc80:	8b 45 14             	mov    0x14(%ebp),%eax
51bc83:	53                   	push   %ebx
51bc84:	56                   	push   %esi
51bc85:	8b 75 08             	mov    0x8(%ebp),%esi
51bc88:	57                   	push   %edi
51bc89:	8b 7d 0c             	mov    0xc(%ebp),%edi
51bc8c:	89 45 d0             	mov    %eax,-0x30(%ebp)
51bc8f:	80 3e 04             	cmpb   $0x4,(%esi)
51bc92:	8b 5e 08             	mov    0x8(%esi),%ebx
51bc95:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
51bc9c:	8b 4b 04             	mov    0x4(%ebx),%ecx
51bc9f:	89 4d c8             	mov    %ecx,-0x38(%ebp)
51bca2:	75 14                	jne    0x51bcb8
51bca4:	8b 46 04             	mov    0x4(%esi),%eax
51bca7:	5f                   	pop    %edi
51bca8:	5e                   	pop    %esi
51bca9:	5b                   	pop    %ebx
51bcaa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51bcad:	33 cd                	xor    %ebp,%ecx
51bcaf:	e8 26 58 0c 00       	call   0x5e14da
51bcb4:	8b e5                	mov    %ebp,%esp
51bcb6:	5d                   	pop    %ebp
51bcb7:	c3                   	ret
51bcb8:	f6 46 01 20          	testb  $0x20,0x1(%esi)
51bcbc:	74 18                	je     0x51bcd6
51bcbe:	56                   	push   %esi
51bcbf:	ff 76 40             	push   0x40(%esi)
51bcc2:	51                   	push   %ecx
51bcc3:	e8 18 94 ff ff       	call   0x5150e0
51bcc8:	83 c4 0c             	add    $0xc,%esp
51bccb:	85 c0                	test   %eax,%eax
51bccd:	0f 85 c9 03 00 00    	jne    0x51c09c
51bcd3:	8b 45 14             	mov    0x14(%ebp),%eax
51bcd6:	8b 56 70             	mov    0x70(%esi),%edx
51bcd9:	85 d2                	test   %edx,%edx
51bcdb:	0f 85 96 01 00 00    	jne    0x51be77
51bce1:	52                   	push   %edx
51bce2:	ff 77 0c             	push   0xc(%edi)
51bce5:	ff 77 08             	push   0x8(%edi)
51bce8:	ff 76 40             	push   0x40(%esi)
51bceb:	53                   	push   %ebx
51bcec:	e8 1f b7 fe ff       	call   0x507410
51bcf1:	83 c4 14             	add    $0x14,%esp
51bcf4:	f6 46 01 02          	testb  $0x2,0x1(%esi)
51bcf8:	74 3d                	je     0x51bd37
51bcfa:	8b 47 08             	mov    0x8(%edi),%eax
51bcfd:	3b 46 20             	cmp    0x20(%esi),%eax
51bd00:	75 35                	jne    0x51bd37
51bd02:	8b 47 0c             	mov    0xc(%edi),%eax
51bd05:	3b 46 24             	cmp    0x24(%esi),%eax
51bd08:	75 2d                	jne    0x51bd37
51bd0a:	66 83 7e 32 00       	cmpw   $0x0,0x32(%esi)
51bd0f:	74 5b                	je     0x51bd6c
51bd11:	8b 47 20             	mov    0x20(%edi),%eax
51bd14:	03 47 1c             	add    0x1c(%edi),%eax
51bd17:	39 46 2c             	cmp    %eax,0x2c(%esi)
51bd1a:	75 50                	jne    0x51bd6c
51bd1c:	57                   	push   %edi
51bd1d:	56                   	push   %esi
51bd1e:	e8 1d b5 fd ff       	call   0x4f7240
51bd23:	83 c4 08             	add    $0x8,%esp
51bd26:	5f                   	pop    %edi
51bd27:	5e                   	pop    %esi
51bd28:	5b                   	pop    %ebx
51bd29:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51bd2c:	33 cd                	xor    %ebp,%ecx
51bd2e:	e8 a7 57 0c 00       	call   0x5e14da
51bd33:	8b e5                	mov    %ebp,%esp
51bd35:	5d                   	pop    %ebp
51bd36:	c3                   	ret
51bd37:	8b 45 14             	mov    0x14(%ebp),%eax
51bd3a:	85 c0                	test   %eax,%eax
51bd3c:	75 2e                	jne    0x51bd6c
51bd3e:	8b 4d 10             	mov    0x10(%ebp),%ecx
51bd41:	8d 45 d0             	lea    -0x30(%ebp),%eax
51bd44:	50                   	push   %eax
51bd45:	33 c0                	xor    %eax,%eax
51bd47:	85 c9                	test   %ecx,%ecx
51bd49:	0f 95 c0             	setne  %al
51bd4c:	50                   	push   %eax
51bd4d:	ff 77 0c             	push   0xc(%edi)
51bd50:	ff 77 08             	push   0x8(%edi)
51bd53:	6a 00                	push   $0x0
51bd55:	56                   	push   %esi
51bd56:	e8 65 0b 00 00       	call   0x51c8c0
51bd5b:	83 c4 18             	add    $0x18,%esp
51bd5e:	85 c0                	test   %eax,%eax
51bd60:	0f 85 36 03 00 00    	jne    0x51c09c
51bd66:	8b 45 d0             	mov    -0x30(%ebp),%eax
51bd69:	89 45 14             	mov    %eax,0x14(%ebp)
51bd6c:	8b 5e 74             	mov    0x74(%esi),%ebx
51bd6f:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
51bd73:	7d 11                	jge    0x51bd86
51bd75:	53                   	push   %ebx
51bd76:	e8 05 a6 fd ff       	call   0x4f6380
51bd7b:	83 c4 04             	add    $0x4,%esp
51bd7e:	85 c0                	test   %eax,%eax
51bd80:	0f 85 16 03 00 00    	jne    0x51c09c
51bd86:	8b 45 c8             	mov    -0x38(%ebp),%eax
51bd89:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
51bd8c:	51                   	push   %ecx
51bd8d:	57                   	push   %edi
51bd8e:	8b 40 50             	mov    0x50(%eax),%eax
51bd91:	50                   	push   %eax
51bd92:	53                   	push   %ebx
51bd93:	89 45 c0             	mov    %eax,-0x40(%ebp)
51bd96:	e8 f5 5a fe ff       	call   0x501890
51bd9b:	8b c8                	mov    %eax,%ecx
51bd9d:	83 c4 10             	add    $0x10,%esp
51bda0:	89 4d cc             	mov    %ecx,-0x34(%ebp)
51bda3:	85 c9                	test   %ecx,%ecx
51bda5:	0f 85 ef 02 00 00    	jne    0x51c09a
51bdab:	0f b7 4e 46          	movzwl 0x46(%esi),%ecx
51bdaf:	8b 45 14             	mov    0x14(%ebp),%eax
51bdb2:	89 4d d0             	mov    %ecx,-0x30(%ebp)
51bdb5:	85 c0                	test   %eax,%eax
51bdb7:	0f 85 f6 01 00 00    	jne    0x51bfb3
51bdbd:	ff 73 48             	push   0x48(%ebx)
51bdc0:	e8 7b 7b 01 00       	call   0x533940
51bdc5:	8b c8                	mov    %eax,%ecx
51bdc7:	83 c4 04             	add    $0x4,%esp
51bdca:	85 c9                	test   %ecx,%ecx
51bdcc:	0f 85 c8 02 00 00    	jne    0x51c09a
51bdd2:	8b 4d d0             	mov    -0x30(%ebp),%ecx
51bdd5:	8b 43 40             	mov    0x40(%ebx),%eax
51bdd8:	66 8b 04 48          	mov    (%eax,%ecx,2),%ax
51bddc:	8a e8                	mov    %al,%ch
51bdde:	8a cc                	mov    %ah,%cl
51bde0:	0f b7 43 1a          	movzwl 0x1a(%ebx),%eax
51bde4:	0f b7 c9             	movzwl %cx,%ecx
51bde7:	23 c8                	and    %eax,%ecx
51bde9:	03 4b 38             	add    0x38(%ebx),%ecx
51bdec:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
51bdf0:	89 4d bc             	mov    %ecx,-0x44(%ebp)
51bdf3:	75 07                	jne    0x51bdfc
51bdf5:	8b 55 c0             	mov    -0x40(%ebp),%edx
51bdf8:	8b 01                	mov    (%ecx),%eax
51bdfa:	89 02                	mov    %eax,(%edx)
51bdfc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
51bdff:	50                   	push   %eax
51be00:	51                   	push   %ecx
51be01:	53                   	push   %ebx
51be02:	e8 59 cc fd ff       	call   0x4f8a60
51be07:	0f b7 4d f6          	movzwl -0xa(%ebp),%ecx
51be0b:	83 c4 0c             	add    $0xc,%esp
51be0e:	80 66 01 fb          	andb   $0xfb,0x1(%esi)
51be12:	8b 55 c4             	mov    -0x3c(%ebp),%edx
51be15:	89 45 cc             	mov    %eax,-0x34(%ebp)
51be18:	3b ca                	cmp    %edx,%ecx
51be1a:	0f 85 72 01 00 00    	jne    0x51bf92
51be20:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
51be24:	3b 45 f0             	cmp    -0x10(%ebp),%eax
51be27:	0f 85 65 01 00 00    	jne    0x51bf92
51be2d:	8b 45 c8             	mov    -0x38(%ebp),%eax
51be30:	80 78 11 00          	cmpb   $0x0,0x11(%eax)
51be34:	74 0c                	je     0x51be42
51be36:	0f b7 43 10          	movzwl 0x10(%ebx),%eax
51be3a:	3b d0                	cmp    %eax,%edx
51be3c:	0f 8d 50 01 00 00    	jge    0x51bf92
51be42:	0f b6 4b 09          	movzbl 0x9(%ebx),%ecx
51be46:	8b 43 38             	mov    0x38(%ebx),%eax
51be49:	83 c1 0a             	add    $0xa,%ecx
51be4c:	03 c1                	add    %ecx,%eax
51be4e:	8b 4d bc             	mov    -0x44(%ebp),%ecx
51be51:	3b c8                	cmp    %eax,%ecx
51be53:	0f 83 f3 00 00 00    	jae    0x51bf4c
51be59:	68 c4 1c 01 00       	push   $0x11cc4
51be5e:	e8 4d 3f 00 00       	call   0x51fdb0
51be63:	83 c4 04             	add    $0x4,%esp
51be66:	5f                   	pop    %edi
51be67:	5e                   	pop    %esi
51be68:	5b                   	pop    %ebx
51be69:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51be6c:	33 cd                	xor    %ebp,%ecx
51be6e:	e8 67 56 0c 00       	call   0x5e14da
51be73:	8b e5                	mov    %ebp,%esp
51be75:	5d                   	pop    %ebp
51be76:	c3                   	ret
51be77:	85 c0                	test   %eax,%eax
51be79:	0f 85 ed fe ff ff    	jne    0x51bd6c
51be7f:	f6 45 10 02          	testb  $0x2,0x10(%ebp)
51be83:	75 76                	jne    0x51befb
51be85:	0f b7 4f 18          	movzwl 0x18(%edi),%ecx
51be89:	66 85 c9             	test   %cx,%cx
51be8c:	74 37                	je     0x51bec5
51be8e:	8b 47 14             	mov    0x14(%edi),%eax
51be91:	89 45 f0             	mov    %eax,-0x10(%ebp)
51be94:	8d 45 d0             	lea    -0x30(%ebp),%eax
51be97:	50                   	push   %eax
51be98:	33 c0                	xor    %eax,%eax
51be9a:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
51be9e:	8b 4d 10             	mov    0x10(%ebp),%ecx
51bea1:	85 c9                	test   %ecx,%ecx
51bea3:	89 55 ec             	mov    %edx,-0x14(%ebp)
51bea6:	0f 95 c0             	setne  %al
51bea9:	c7 45 f6 00 00 00 00 	movl   $0x0,-0xa(%ebp)
51beb0:	50                   	push   %eax
51beb1:	6a 00                	push   $0x0
51beb3:	6a 00                	push   $0x0
51beb5:	8d 45 ec             	lea    -0x14(%ebp),%eax
51beb8:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
51bebc:	50                   	push   %eax
51bebd:	56                   	push   %esi
51bebe:	e8 fd 09 00 00       	call   0x51c8c0
51bec3:	eb 1d                	jmp    0x51bee2
51bec5:	8b 4d 10             	mov    0x10(%ebp),%ecx
51bec8:	8d 45 d0             	lea    -0x30(%ebp),%eax
51becb:	50                   	push   %eax
51becc:	33 c0                	xor    %eax,%eax
51bece:	85 c9                	test   %ecx,%ecx
51bed0:	0f 95 c0             	setne  %al
51bed3:	50                   	push   %eax
51bed4:	ff 77 0c             	push   0xc(%edi)
51bed7:	ff 77 08             	push   0x8(%edi)
51beda:	ff 37                	push   (%edi)
51bedc:	56                   	push   %esi
51bedd:	e8 9e b1 fd ff       	call   0x4f7080
51bee2:	83 c4 18             	add    $0x18,%esp
51bee5:	85 c0                	test   %eax,%eax
51bee7:	0f 85 af 01 00 00    	jne    0x51c09c
51beed:	8b 45 d0             	mov    -0x30(%ebp),%eax
51bef0:	89 45 14             	mov    %eax,0x14(%ebp)
51bef3:	85 c0                	test   %eax,%eax
51bef5:	0f 85 71 fe ff ff    	jne    0x51bd6c
51befb:	56                   	push   %esi
51befc:	e8 af 9c fe ff       	call   0x505bb0
51bf01:	8b 46 20             	mov    0x20(%esi),%eax
51bf04:	83 c4 04             	add    $0x4,%esp
51bf07:	3b 47 08             	cmp    0x8(%edi),%eax
51bf0a:	0f 85 5c fe ff ff    	jne    0x51bd6c
51bf10:	8b 46 24             	mov    0x24(%esi),%eax
51bf13:	3b 47 0c             	cmp    0xc(%edi),%eax
51bf16:	0f 85 50 fe ff ff    	jne    0x51bd6c
51bf1c:	8b 07                	mov    (%edi),%eax
51bf1e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
51bf21:	8b 47 08             	mov    0x8(%edi),%eax
51bf24:	89 45 f0             	mov    %eax,-0x10(%ebp)
51bf27:	8d 45 d4             	lea    -0x2c(%ebp),%eax
51bf2a:	50                   	push   %eax
51bf2b:	56                   	push   %esi
51bf2c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
51bf33:	e8 08 b3 fd ff       	call   0x4f7240
51bf38:	83 c4 08             	add    $0x8,%esp
51bf3b:	5f                   	pop    %edi
51bf3c:	5e                   	pop    %esi
51bf3d:	5b                   	pop    %ebx
51bf3e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51bf41:	33 cd                	xor    %ebp,%ecx
51bf43:	e8 92 55 0c 00       	call   0x5e14da
51bf48:	8b e5                	mov    %ebp,%esp
51bf4a:	5d                   	pop    %ebp
51bf4b:	c3                   	ret
51bf4c:	8d 04 11             	lea    (%ecx,%edx,1),%eax
51bf4f:	3b 43 3c             	cmp    0x3c(%ebx),%eax
51bf52:	76 1e                	jbe    0x51bf72
51bf54:	68 c7 1c 01 00       	push   $0x11cc7
51bf59:	e8 52 3e 00 00       	call   0x51fdb0
51bf5e:	83 c4 04             	add    $0x4,%esp
51bf61:	5f                   	pop    %edi
51bf62:	5e                   	pop    %esi
51bf63:	5b                   	pop    %ebx
51bf64:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51bf67:	33 cd                	xor    %ebp,%ecx
51bf69:	e8 6c 55 0c 00       	call   0x5e14da
51bf6e:	8b e5                	mov    %ebp,%esp
51bf70:	5d                   	pop    %ebp
51bf71:	c3                   	ret
51bf72:	52                   	push   %edx
51bf73:	ff 75 c0             	push   -0x40(%ebp)
51bf76:	51                   	push   %ecx
51bf77:	e8 84 6f 0c 00       	call   0x5e2f00
51bf7c:	83 c4 0c             	add    $0xc,%esp
51bf7f:	33 c0                	xor    %eax,%eax
51bf81:	5f                   	pop    %edi
51bf82:	5e                   	pop    %esi
51bf83:	5b                   	pop    %ebx
51bf84:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51bf87:	33 cd                	xor    %ebp,%ecx
51bf89:	e8 4c 55 0c 00       	call   0x5e14da
51bf8e:	8b e5                	mov    %ebp,%esp
51bf90:	5d                   	pop    %ebp
51bf91:	c3                   	ret
51bf92:	8d 45 cc             	lea    -0x34(%ebp),%eax
51bf95:	50                   	push   %eax
51bf96:	51                   	push   %ecx
51bf97:	ff 75 d0             	push   -0x30(%ebp)
51bf9a:	53                   	push   %ebx
51bf9b:	e8 30 25 fe ff       	call   0x4fe4d0
51bfa0:	8b 4d cc             	mov    -0x34(%ebp),%ecx
51bfa3:	83 c4 10             	add    $0x10,%esp
51bfa6:	85 c9                	test   %ecx,%ecx
51bfa8:	0f 85 ec 00 00 00    	jne    0x51c09a
51bfae:	8b 4d d0             	mov    -0x30(%ebp),%ecx
51bfb1:	eb 17                	jmp    0x51bfca
51bfb3:	79 15                	jns    0x51bfca
51bfb5:	66 83 7b 18 00       	cmpw   $0x0,0x18(%ebx)
51bfba:	76 0e                	jbe    0x51bfca
51bfbc:	80 66 01 fd          	andb   $0xfd,0x1(%esi)
51bfc0:	8d 41 01             	lea    0x1(%ecx),%eax
51bfc3:	66 89 46 46          	mov    %ax,0x46(%esi)
51bfc7:	0f b7 c8             	movzwl %ax,%ecx
51bfca:	8d 45 cc             	lea    -0x34(%ebp),%eax
51bfcd:	50                   	push   %eax
51bfce:	6a 00                	push   $0x0
51bfd0:	6a 00                	push   $0x0
51bfd2:	ff 75 c4             	push   -0x3c(%ebp)
51bfd5:	ff 75 c0             	push   -0x40(%ebp)
51bfd8:	51                   	push   %ecx
51bfd9:	53                   	push   %ebx
51bfda:	e8 51 b1 fe ff       	call   0x507130
51bfdf:	33 c0                	xor    %eax,%eax
51bfe1:	83 c4 1c             	add    $0x1c,%esp
51bfe4:	66 89 46 32          	mov    %ax,0x32(%esi)
51bfe8:	38 43 0c             	cmp    %al,0xc(%ebx)
51bfeb:	0f 84 a6 00 00 00    	je     0x51c097
51bff1:	80 66 01 fd          	andb   $0xfd,0x1(%esi)
51bff5:	56                   	push   %esi
51bff6:	e8 55 82 fd ff       	call   0x4f4250
51bffb:	8b c8                	mov    %eax,%ecx
51bffd:	83 c4 04             	add    $0x4,%esp
51c000:	f6 45 10 02          	testb  $0x2,0x10(%ebp)
51c004:	8b 46 74             	mov    0x74(%esi),%eax
51c007:	89 4d c8             	mov    %ecx,-0x38(%ebp)
51c00a:	c6 40 0c 00          	movb   $0x0,0xc(%eax)
51c00e:	c6 06 01             	movb   $0x1,(%esi)
51c011:	0f 84 83 00 00 00    	je     0x51c09a
51c017:	85 c9                	test   %ecx,%ecx
51c019:	75 7f                	jne    0x51c09a
51c01b:	56                   	push   %esi