52f8bc:	55                   	push   %ebp
52f8bd:	8b ec                	mov    %esp,%ebp
52f8bf:	83 c4 f0             	add    $0xfffffff0,%esp
52f8c2:	53                   	push   %ebx
52f8c3:	56                   	push   %esi
52f8c4:	57                   	push   %edi
52f8c5:	89 55 f8             	mov    %edx,-0x8(%ebp)
52f8c8:	8b f0                	mov    %eax,%esi
52f8ca:	8b 86 10 06 00 00    	mov    0x610(%esi),%eax
52f8d0:	8b d0                	mov    %eax,%edx
52f8d2:	81 e2 ff 01 00 80    	and    $0x800001ff,%edx
52f8d8:	79 08                	jns    0x52f8e2
52f8da:	4a                   	dec    %edx
52f8db:	81 ca 00 fe ff ff    	or     $0xfffffe00,%edx
52f8e1:	42                   	inc    %edx
52f8e2:	85 d2                	test   %edx,%edx
52f8e4:	75 39                	jne    0x52f91f
52f8e6:	05 00 02 00 00       	add    $0x200,%eax
52f8eb:	83 c0 0a             	add    $0xa,%eax
52f8ee:	c1 e0 02             	shl    $0x2,%eax
52f8f1:	e8 b6 2e ed ff       	call   0x4027ac
52f8f6:	8b d8                	mov    %eax,%ebx
52f8f8:	8b 8e 10 06 00 00    	mov    0x610(%esi),%ecx
52f8fe:	c1 e1 02             	shl    $0x2,%ecx
52f901:	8b 96 14 06 00 00    	mov    0x614(%esi),%edx
52f907:	8b c3                	mov    %ebx,%eax
52f909:	e8 b2 85 ed ff       	call   0x407ec0
52f90e:	8b 86 14 06 00 00    	mov    0x614(%esi),%eax
52f914:	e8 b3 2e ed ff       	call   0x4027cc
52f919:	89 9e 14 06 00 00    	mov    %ebx,0x614(%esi)
52f91f:	8b 86 48 07 00 00    	mov    0x748(%esi),%eax
52f925:	8b d0                	mov    %eax,%edx
52f927:	81 e2 ff 01 00 80    	and    $0x800001ff,%edx
52f92d:	79 08                	jns    0x52f937
52f92f:	4a                   	dec    %edx
52f930:	81 ca 00 fe ff ff    	or     $0xfffffe00,%edx
52f936:	42                   	inc    %edx
52f937:	85 d2                	test   %edx,%edx
52f939:	75 3d                	jne    0x52f978
52f93b:	05 00 02 00 00       	add    $0x200,%eax
52f940:	83 c0 0a             	add    $0xa,%eax
52f943:	69 c0 f8 00 00 00    	imul   $0xf8,%eax,%eax
52f949:	e8 5e 2e ed ff       	call   0x4027ac
52f94e:	8b d8                	mov    %eax,%ebx
52f950:	69 8e 48 07 00 00 f8 	imul   $0xf8,0x748(%esi),%ecx
52f957:	00 00 00
52f95a:	8b 96 44 07 00 00    	mov    0x744(%esi),%edx
52f960:	8b c3                	mov    %ebx,%eax
52f962:	e8 59 85 ed ff       	call   0x407ec0
52f967:	8b 86 44 07 00 00    	mov    0x744(%esi),%eax
52f96d:	e8 5a 2e ed ff       	call   0x4027cc
52f972:	89 9e 44 07 00 00    	mov    %ebx,0x744(%esi)
52f978:	8b 86 48 07 00 00    	mov    0x748(%esi),%eax
52f97e:	8b d0                	mov    %eax,%edx
52f980:	c1 e0 05             	shl    $0x5,%eax
52f983:	2b c2                	sub    %edx,%eax
52f985:	8b 96 44 07 00 00    	mov    0x744(%esi),%edx
52f98b:	8d 04 c2             	lea    (%edx,%eax,8),%eax
52f98e:	89 45 fc             	mov    %eax,-0x4(%ebp)
52f991:	8b 55 f8             	mov    -0x8(%ebp),%edx
52f994:	b9 f8 00 00 00       	mov    $0xf8,%ecx
52f999:	8b 45 fc             	mov    -0x4(%ebp),%eax
52f99c:	e8 1f 85 ed ff       	call   0x407ec0
52f9a1:	8b 86 14 06 00 00    	mov    0x614(%esi),%eax
52f9a7:	8b 96 10 06 00 00    	mov    0x610(%esi),%edx
52f9ad:	8b 8e 48 07 00 00    	mov    0x748(%esi),%ecx
52f9b3:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
52f9b6:	8b 86 48 07 00 00    	mov    0x748(%esi),%eax
52f9bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
52f9bf:	ff 86 48 07 00 00    	incl   0x748(%esi)
52f9c5:	ff 86 10 06 00 00    	incl   0x610(%esi)
52f9cb:	8b 5d fc             	mov    -0x4(%ebp),%ebx
52f9ce:	c7 43 50 ff ff ff ff 	movl   $0xffffffff,0x50(%ebx)
52f9d5:	33 c0                	xor    %eax,%eax
52f9d7:	89 43 58             	mov    %eax,0x58(%ebx)
52f9da:	33 c0                	xor    %eax,%eax
52f9dc:	89 43 5c             	mov    %eax,0x5c(%ebx)
52f9df:	33 c0                	xor    %eax,%eax
52f9e1:	89 43 70             	mov    %eax,0x70(%ebx)
52f9e4:	33 c0                	xor    %eax,%eax
52f9e6:	89 43 74             	mov    %eax,0x74(%ebx)
52f9e9:	33 c0                	xor    %eax,%eax
52f9eb:	89 43 64             	mov    %eax,0x64(%ebx)
52f9ee:	33 c0                	xor    %eax,%eax
52f9f0:	89 43 68             	mov    %eax,0x68(%ebx)
52f9f3:	33 c0                	xor    %eax,%eax
52f9f5:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
52f9fb:	33 c0                	xor    %eax,%eax
52f9fd:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
52fa03:	b2 01                	mov    $0x1,%dl
52fa05:	a1 4c 64 5d 00       	mov    0x5d644c,%eax
52fa0a:	e8 39 40 ed ff       	call   0x403a48
52fa0f:	8b f8                	mov    %eax,%edi
52fa11:	89 bb f4 00 00 00    	mov    %edi,0xf4(%ebx)
52fa17:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa1a:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa20:	8a 40 04             	mov    0x4(%eax),%al
52fa23:	88 47 04             	mov    %al,0x4(%edi)
52fa26:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa29:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa2f:	8b 50 08             	mov    0x8(%eax),%edx
52fa32:	89 57 08             	mov    %edx,0x8(%edi)
52fa35:	8b 50 0c             	mov    0xc(%eax),%edx
52fa38:	89 57 0c             	mov    %edx,0xc(%edi)
52fa3b:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa3e:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa44:	8b 40 10             	mov    0x10(%eax),%eax
52fa47:	89 47 10             	mov    %eax,0x10(%edi)
52fa4a:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa4d:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa53:	8b 40 14             	mov    0x14(%eax),%eax
52fa56:	89 47 14             	mov    %eax,0x14(%edi)
52fa59:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa5c:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa62:	8b 40 18             	mov    0x18(%eax),%eax
52fa65:	89 47 18             	mov    %eax,0x18(%edi)
52fa68:	80 7b 10 05          	cmpb   $0x5,0x10(%ebx)
52fa6c:	75 14                	jne    0x52fa82
52fa6e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
52fa71:	8b 49 50             	mov    0x50(%ecx),%ecx
52fa74:	8b 96 48 07 00 00    	mov    0x748(%esi),%edx
52fa7a:	4a                   	dec    %edx
52fa7b:	8b c6                	mov    %esi,%eax
52fa7d:	e8 3a f3 ff ff       	call   0x52edbc
52fa82:	8a 43 10             	mov    0x10(%ebx),%al
52fa85:	3c 06                	cmp    $0x6,%al
52fa87:	74 04                	je     0x52fa8d
52fa89:	3c 0b                	cmp    $0xb,%al
52fa8b:	75 61                	jne    0x52faee
52fa8d:	8b 75 f8             	mov    -0x8(%ebp),%esi
52fa90:	8b 76 58             	mov    0x58(%esi),%esi
52fa93:	85 f6                	test   %esi,%esi
52fa95:	74 0f                	je     0x52faa6
52fa97:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa9a:	8b c6                	mov    %esi,%eax
52fa9c:	e8 9f d8 ff ff       	call   0x52d340
52faa1:	89 43 58             	mov    %eax,0x58(%ebx)
52faa4:	eb 0d                	jmp    0x52fab3
52faa6:	b8 d4 fc 52 00       	mov    $0x52fcd4,%eax
52faab:	e8 90 d8 ff ff       	call   0x52d340
52fab0:	89 43 58             	mov    %eax,0x58(%ebx)
52fab3:	55                   	push   %ebp
52fab4:	e8 c3 fd ff ff       	call   0x52f87c
52fab9:	59                   	pop    %ecx
52faba:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fabd:	8b 40 68             	mov    0x68(%eax),%eax
52fac0:	85 c0                	test   %eax,%eax
52fac2:	7e 2a                	jle    0x52faee
52fac4:	8b 55 f8             	mov    -0x8(%ebp),%edx
52fac7:	8b f0                	mov    %eax,%esi
52fac9:	89 73 68             	mov    %esi,0x68(%ebx)
52facc:	8b c6                	mov    %esi,%eax
52face:	c1 e0 04             	shl    $0x4,%eax
52fad1:	e8 d6 2c ed ff       	call   0x4027ac
52fad6:	8b f8                	mov    %eax,%edi
52fad8:	89 7b 64             	mov    %edi,0x64(%ebx)
52fadb:	8b 4b 68             	mov    0x68(%ebx),%ecx
52fade:	c1 e1 04             	shl    $0x4,%ecx
52fae1:	8b d7                	mov    %edi,%edx
52fae3:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fae6:	8b 40 64             	mov    0x64(%eax),%eax
52fae9:	e8 32 2f ed ff       	call   0x402a20
52faee:	80 7b 10 0a          	cmpb   $0xa,0x10(%ebx)
52faf2:	0f 85 a9 00 00 00    	jne    0x52fba1
52faf8:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fafb:	8b 40 58             	mov    0x58(%eax),%eax
52fafe:	e8 3d d8 ff ff       	call   0x52d340
52fb03:	89 43 58             	mov    %eax,0x58(%ebx)
52fb06:	55                   	push   %ebp
52fb07:	e8 70 fd ff ff       	call   0x52f87c
52fb0c:	59                   	pop    %ecx
52fb0d:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fb10:	83 78 70 00          	cmpl   $0x0,0x70(%eax)
52fb14:	0f 84 87 00 00 00    	je     0x52fba1
52fb1a:	8b 43 58             	mov    0x58(%ebx),%eax
52fb1d:	e8 ce a2 ed ff       	call   0x409df0
52fb22:	8b f0                	mov    %eax,%esi
52fb24:	8d 46 01             	lea    0x1(%esi),%eax
52fb27:	c1 e0 02             	shl    $0x2,%eax
52fb2a:	e8 7d 2c ed ff       	call   0x4027ac
52fb2f:	8b f8                	mov    %eax,%edi
52fb31:	89 7b 70             	mov    %edi,0x70(%ebx)
52fb34:	8b ce                	mov    %esi,%ecx
52fb36:	c1 e1 02             	shl    $0x2,%ecx
52fb39:	8b d7                	mov    %edi,%edx
52fb3b:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fb3e:	8b 40 70             	mov    0x70(%eax),%eax
52fb41:	e8 da 2e ed ff       	call   0x402a20
52fb46:	b2 01                	mov    $0x1,%dl
52fb48:	a1 24 94 41 00       	mov    0x419424,%eax
52fb4d:	e8 f6 3e ed ff       	call   0x403a48
52fb52:	89 43 74             	mov    %eax,0x74(%ebx)
52fb55:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fb58:	8b 40 74             	mov    0x74(%eax),%eax
52fb5b:	8b 78 08             	mov    0x8(%eax),%edi
52fb5e:	4f                   	dec    %edi
52fb5f:	85 ff                	test   %edi,%edi
52fb61:	7c 3e                	jl     0x52fba1
52fb63:	47                   	inc    %edi
52fb64:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
52fb6b:	b8 18 01 00 00       	mov    $0x118,%eax
52fb70:	e8 37 2c ed ff       	call   0x4027ac
52fb75:	8b f0                	mov    %eax,%esi
52fb77:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fb7a:	8b 40 74             	mov    0x74(%eax),%eax
52fb7d:	8b 55 f0             	mov    -0x10(%ebp),%edx
52fb80:	e8 3b c2 ee ff       	call   0x41bdc0
52fb85:	8b d6                	mov    %esi,%edx
52fb87:	b9 18 01 00 00       	mov    $0x118,%ecx
52fb8c:	e8 8f 2e ed ff       	call   0x402a20
52fb91:	8b d6                	mov    %esi,%edx
52fb93:	8b 43 74             	mov    0x74(%ebx),%eax
52fb96:	e8 79 c0 ee ff       	call   0x41bc14
52fb9b:	ff 45 f0             	incl   -0x10(%ebp)
52fb9e:	4f                   	dec    %edi
52fb9f:	75 ca                	jne    0x52fb6b
52fba1:	80 7b 10 07          	cmpb   $0x7,0x10(%ebx)
52fba5:	75 07                	jne    0x52fbae
52fba7:	55                   	push   %ebp
52fba8:	e8 cf fc ff ff       	call   0x52f87c
52fbad:	59                   	pop    %ecx
52fbae:	8b 75 f8             	mov    -0x8(%ebp),%esi
52fbb1:	8b b6 88 00 00 00    	mov    0x88(%esi),%esi
52fbb7:	85 f6                	test   %esi,%esi
52fbb9:	74 12                	je     0x52fbcd
52fbbb:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fbbe:	8b c6                	mov    %esi,%eax
52fbc0:	e8 7b d7 ff ff       	call   0x52d340
52fbc5:	89 83 88 00 00 00    	mov    %eax,0x88(%ebx)
52fbcb:	eb 10                	jmp    0x52fbdd
52fbcd:	b8 d4 fc 52 00       	mov    $0x52fcd4,%eax
52fbd2:	e8 69 d7 ff ff       	call   0x52d340
52fbd7:	89 83 88 00 00 00    	mov    %eax,0x88(%ebx)
52fbdd:	8a 43 10             	mov    0x10(%ebx),%al
52fbe0:	3c 01                	cmp    $0x1,%al
52fbe2:	74 1d                	je     0x52fc01
52fbe4:	3c 07                	cmp    $0x7,%al
52fbe6:	74 19                	je     0x52fc01
52fbe8:	3c 08                	cmp    $0x8,%al
52fbea:	74 15                	je     0x52fc01
52fbec:	3c 0b                	cmp    $0xb,%al
52fbee:	74 11                	je     0x52fc01
52fbf0:	8d 43 0c             	lea    0xc(%ebx),%eax
52fbf3:	50                   	push   %eax
52fbf4:	8d 4b 08             	lea    0x8(%ebx),%ecx
52fbf7:	8d 53 04             	lea    0x4(%ebx),%edx
52fbfa:	8b c3                	mov    %ebx,%eax
52fbfc:	e8 87 98 07 00       	call   0x5a9488
52fc01:	80 7b 10 08          	cmpb   $0x8,0x10(%ebx)
52fc05:	75 78                	jne    0x52fc7f
52fc07:	8b 75 f8             	mov    -0x8(%ebp),%esi
52fc0a:	8b b6 98 00 00 00    	mov    0x98(%esi),%esi
52fc10:	89 b3 98 00 00 00    	mov    %esi,0x98(%ebx)
52fc16:	8b c6                	mov    %esi,%eax
52fc18:	c1 e0 03             	shl    $0x3,%eax
52fc1b:	e8 8c 2b ed ff       	call   0x4027ac
52fc20:	8b f8                	mov    %eax,%edi
52fc22:	89 bb 94 00 00 00    	mov    %edi,0x94(%ebx)
52fc28:	8b 8b 98 00 00 00    	mov    0x98(%ebx),%ecx
52fc2e:	c1 e1 03             	shl    $0x3,%ecx
52fc31:	8b 55 f8             	mov    -0x8(%ebp),%edx
52fc34:	8b 92 94 00 00 00    	mov    0x94(%edx),%edx
52fc3a:	8b c7                	mov    %edi,%eax
52fc3c:	e8 7f 82 ed ff       	call   0x407ec0
52fc41:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fc44:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
52fc4a:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
52fc50:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fc53:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
52fc59:	89 83 a0 00 00 00    	mov    %eax,0xa0(%ebx)
52fc5f:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fc62:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
52fc68:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
52fc6e:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fc71:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
52fc77:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
52fc7d:	eb 48                	jmp    0x52fcc7
52fc7f:	33 c0                	xor    %eax,%eax
52fc81:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
52fc87:	33 c0                	xor    %eax,%eax
52fc89:	89 83 98 00 00 00    	mov    %eax,0x98(%ebx)
52fc8f:	33 c0                	xor    %eax,%eax
52fc91:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
52fc97:	33 c0                	xor    %eax,%eax
52fc99:	89 83 a0 00 00 00    	mov    %eax,0xa0(%ebx)
52fc9f:	33 c0                	xor    %eax,%eax
52fca1:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
52fca7:	33 c0                	xor    %eax,%eax
52fca9:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
52fcaf:	8d 93 b8 00 00 00    	lea    0xb8(%ebx),%edx
52fcb5:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fcb8:	05 b8 00 00 00       	add    $0xb8,%eax
52fcbd:	b9 18 00 00 00       	mov    $0x18,%ecx
52fcc2:	e8 59 2d ed ff       	call   0x402a20
52fcc7:	8b 45 f4             	mov    -0xc(%ebp),%eax
52fcca:	5f                   	pop    %edi
52fccb:	5e                   	pop    %esi
52fccc:	5b                   	pop    %ebx
52fccd:	8b e5                	mov    %ebp,%esp
52fccf:	5d                   	pop    %ebp
52fcd0:	c3                   	ret
52fcd1:	00 00                	add    %al,(%eax)
52fcd3:	00 00                	add    %al,(%eax)
52fcd5:	00 00                	add    %al,(%eax)
52fcd7:	00 53 56             	add    %dl,0x56(%ebx)
52fcda:	57                   	push   %edi
52fcdb:	8b d8                	mov    %eax,%ebx
52fcdd:	8b 83 10 06 00 00    	mov    0x610(%ebx),%eax
52fce3:	48                   	dec    %eax
52fce4:	85 c0                	test   %eax,%eax
52fce6:	7c 12                	jl     0x52fcfa
52fce8:	40                   	inc    %eax
52fce9:	33 f6                	xor    %esi,%esi
52fceb:	8b 8b 14 06 00 00    	mov    0x614(%ebx),%ecx
52fcf1:	3b 14 b1             	cmp    (%ecx,%esi,4),%edx
52fcf4:	74 04                	je     0x52fcfa
52fcf6:	46                   	inc    %esi
52fcf7:	48                   	dec    %eax
52fcf8:	75 f1                	jne    0x52fceb
52fcfa:	ff 8b 10 06 00 00    	decl   0x610(%ebx)
52fd00:	8b 83 10 06 00 00    	mov    0x610(%ebx),%eax
52fd06:	05 00 02 00 00       	add    $0x200,%eax
52fd0b:	83 c0 0a             	add    $0xa,%eax
52fd0e:	c1 e0 02             	shl    $0x2,%eax
52fd11:	e8 96 2a ed ff       	call   0x4027ac
52fd16:	8b f8                	mov    %eax,%edi
52fd18:	8b ce                	mov    %esi,%ecx
52fd1a:	c1 e1 02             	shl    $0x2,%ecx
52fd1d:	8b 93 14 06 00 00    	mov    0x614(%ebx),%edx
52fd23:	8b c7                	mov    %edi,%eax
52fd25:	e8 96 81 ed ff       	call   0x407ec0
52fd2a:	8b 83 10 06 00 00    	mov    0x610(%ebx),%eax
52fd30:	2b c6                	sub    %esi,%eax
52fd32:	8b c8                	mov    %eax,%ecx
52fd34:	c1 e1 02             	shl    $0x2,%ecx
52fd37:	8b 83 14 06 00 00    	mov    0x614(%ebx),%eax
52fd3d:	8d 54 b0 04          	lea    0x4(%eax,%esi,4),%edx
52fd41:	8d 04 b7             	lea    (%edi,%esi,4),%eax
52fd44:	e8 77 81 ed ff       	call   0x407ec0
52fd49:	8b 83 14 06 00 00    	mov    0x614(%ebx),%eax
52fd4f:	e8 78 2a ed ff       	call   0x4027cc
52fd54:	89 bb 14 06 00 00    	mov    %edi,0x614(%ebx)
52fd5a:	5f                   	pop    %edi
52fd5b:	5e                   	pop    %esi
52fd5c:	5b                   	pop    %ebx
52fd5d:	c3                   	ret
52fd5e:	8b c0                	mov    %eax,%eax
52fd60:	53                   	push   %ebx
52fd61:	56                   	push   %esi
52fd62:	57                   	push   %edi