52fa50:	8b 59 04             	mov    0x4(%ecx),%ebx
52fa53:	33 ff                	xor    %edi,%edi
52fa55:	be 88 16 6b 00       	mov    $0x6b1688,%esi
52fa5a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
52fa60:	0f b6 46 01          	movzbl 0x1(%esi),%eax
52fa64:	3b d8                	cmp    %eax,%ebx
52fa66:	75 1b                	jne    0x52fa83
52fa68:	0f b6 06             	movzbl (%esi),%eax
52fa6b:	53                   	push   %ebx
52fa6c:	05 18 16 6b 00       	add    $0x6b1618,%eax
52fa71:	50                   	push   %eax
52fa72:	ff 31                	push   (%ecx)
52fa74:	e8 e7 00 fb ff       	call   0x4dfb60
52fa79:	83 c4 0c             	add    $0xc,%esp
52fa7c:	85 c0                	test   %eax,%eax
52fa7e:	74 56                	je     0x52fad6
52fa80:	8b 4d f4             	mov    -0xc(%ebp),%ecx
52fa83:	83 c6 03             	add    $0x3,%esi
52fa86:	47                   	inc    %edi
52fa87:	81 fe 9d 16 6b 00    	cmp    $0x6b169d,%esi
52fa8d:	7c d1                	jl     0x52fa60
52fa8f:	8b 55 fc             	mov    -0x4(%ebp),%edx
52fa92:	83 ca 40             	or     $0x40,%edx
52fa95:	8b c2                	mov    %edx,%eax
52fa97:	83 e0 21             	and    $0x21,%eax
52fa9a:	3c 21                	cmp    $0x21,%al
52fa9c:	0f 95 c1             	setne  %cl
52fa9f:	f6 c2 40             	test   $0x40,%dl
52faa2:	0f 94 c0             	sete   %al
52faa5:	84 c8                	test   %cl,%al
52faa7:	74 5d                	je     0x52fb06
52faa9:	8b c2                	mov    %edx,%eax
52faab:	f6 c2 20             	test   $0x20,%dl
52faae:	0f 84 81 00 00 00    	je     0x52fb35
52fab4:	24 18                	and    $0x18,%al
52fab6:	3c 08                	cmp    $0x8,%al
52fab8:	74 43                	je     0x52fafd
52faba:	68 04 ae 6b 00       	push   $0x6bae04
52fabf:	ff 75 08             	push   0x8(%ebp)
52fac2:	e8 99 37 ff ff       	call   0x523260
52fac7:	83 c4 08             	add    $0x8,%esp
52faca:	b8 01 00 00 00       	mov    $0x1,%eax
52facf:	5f                   	pop    %edi
52fad0:	5e                   	pop    %esi
52fad1:	5b                   	pop    %ebx
52fad2:	8b e5                	mov    %ebp,%esp
52fad4:	5d                   	pop    %ebp
52fad5:	c3                   	ret
52fad6:	8b 55 fc             	mov    -0x4(%ebp),%edx
52fad9:	0f b6 84 7f 8a 16 6b 	movzbl 0x6b168a(%edi,%edi,2),%eax
52fae0:	00
52fae1:	0b d0                	or     %eax,%edx
52fae3:	89 55 fc             	mov    %edx,-0x4(%ebp)
52fae6:	83 ff 07             	cmp    $0x7,%edi
52fae9:	7d a7                	jge    0x52fa92
52faeb:	8b 45 f8             	mov    -0x8(%ebp),%eax
52faee:	40                   	inc    %eax
52faef:	89 45 f8             	mov    %eax,-0x8(%ebp)
52faf2:	83 f8 03             	cmp    $0x3,%eax
52faf5:	0f 8c 4a ff ff ff    	jl     0x52fa45
52fafb:	eb 98                	jmp    0x52fa95
52fafd:	5f                   	pop    %edi
52fafe:	5e                   	pop    %esi
52faff:	8b c2                	mov    %edx,%eax
52fb01:	5b                   	pop    %ebx
52fb02:	8b e5                	mov    %ebp,%esp
52fb04:	5d                   	pop    %ebp
52fb05:	c3                   	ret
52fb06:	8b 5d 14             	mov    0x14(%ebp),%ebx
52fb09:	b9 74 a1 6a 00       	mov    $0x6aa174,%ecx
52fb0e:	53                   	push   %ebx
52fb0f:	85 db                	test   %ebx,%ebx
52fb11:	b8 75 a1 6a 00       	mov    $0x6aa175,%eax
52fb16:	0f 45 c1             	cmovne %ecx,%eax
52fb19:	50                   	push   %eax
52fb1a:	ff 75 10             	push   0x10(%ebp)
52fb1d:	ff 75 0c             	push   0xc(%ebp)
52fb20:	68 d8 ad 6b 00       	push   $0x6badd8
52fb25:	ff 75 08             	push   0x8(%ebp)
52fb28:	e8 33 37 ff ff       	call   0x523260
52fb2d:	83 c4 18             	add    $0x18,%esp
52fb30:	b8 01 00 00 00       	mov    $0x1,%eax
52fb35:	5f                   	pop    %edi
52fb36:	5e                   	pop    %esi
52fb37:	5b                   	pop    %ebx
52fb38:	8b e5                	mov    %ebp,%esp
52fb3a:	5d                   	pop    %ebp
52fb3b:	c3                   	ret
52fb3c:	cc                   	int3
52fb3d:	cc                   	int3
52fb3e:	cc                   	int3
52fb3f:	cc                   	int3
52fb40:	55                   	push   %ebp
52fb41:	8b ec                	mov    %esp,%ebp
52fb43:	56                   	push   %esi
52fb44:	8b 75 10             	mov    0x10(%ebp),%esi
52fb47:	6a 48                	push   $0x48
52fb49:	6a 00                	push   $0x0
52fb4b:	56                   	push   %esi
52fb4c:	e8 af 3e 0b 00       	call   0x5e3a00
52fb51:	8b 4d 18             	mov    0x18(%ebp),%ecx
52fb54:	83 c4 0c             	add    $0xc,%esp
52fb57:	85 c9                	test   %ecx,%ecx
52fb59:	75 1d                	jne    0x52fb78
52fb5b:	8b 45 14             	mov    0x14(%ebp),%eax
52fb5e:	51                   	push   %ecx
52fb5f:	25 7f 7f 08 01       	and    $0x1087f7f,%eax
52fb64:	50                   	push   %eax
52fb65:	8b 45 08             	mov    0x8(%ebp),%eax
52fb68:	56                   	push   %esi
52fb69:	ff 75 0c             	push   0xc(%ebp)
52fb6c:	50                   	push   %eax
52fb6d:	8b 40 18             	mov    0x18(%eax),%eax
52fb70:	ff d0                	call   *%eax
52fb72:	83 c4 14             	add    $0x14,%esp
52fb75:	5e                   	pop    %esi
52fb76:	5d                   	pop    %ebp
52fb77:	c3                   	ret
52fb78:	85 c9                	test   %ecx,%ecx
52fb7a:	c7 06 d8 26 6b 00    	movl   $0x6b26d8,(%esi)
52fb80:	b8 fc 03 00 00       	mov    $0x3fc,%eax
52fb85:	89 4e 08             	mov    %ecx,0x8(%esi)
52fb88:	0f 4f c1             	cmovg  %ecx,%eax
52fb8b:	89 46 04             	mov    %eax,0x4(%esi)
52fb8e:	8b 45 14             	mov    0x14(%ebp),%eax
52fb91:	89 46 38             	mov    %eax,0x38(%esi)
52fb94:	8b 45 0c             	mov    0xc(%ebp),%eax
52fb97:	89 46 40             	mov    %eax,0x40(%esi)
52fb9a:	8b 45 08             	mov    0x8(%ebp),%eax
52fb9d:	89 46 3c             	mov    %eax,0x3c(%esi)
52fba0:	33 c0                	xor    %eax,%eax
52fba2:	5e                   	pop    %esi
52fba3:	5d                   	pop    %ebp
52fba4:	c3                   	ret
52fba5:	cc                   	int3
52fba6:	cc                   	int3
52fba7:	cc                   	int3
52fba8:	cc                   	int3
52fba9:	cc                   	int3
52fbaa:	cc                   	int3
52fbab:	cc                   	int3
52fbac:	cc                   	int3
52fbad:	cc                   	int3
52fbae:	cc                   	int3
52fbaf:	cc                   	int3
52fbb0:	55                   	push   %ebp
52fbb1:	8b ec                	mov    %esp,%ebp
52fbb3:	53                   	push   %ebx
52fbb4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
52fbb7:	03 5d 10             	add    0x10(%ebp),%ebx
52fbba:	56                   	push   %esi
52fbbb:	8b 75 08             	mov    0x8(%ebp),%esi
52fbbe:	57                   	push   %edi
52fbbf:	8d 43 04             	lea    0x4(%ebx),%eax
52fbc2:	8d 04 80             	lea    (%eax,%eax,4),%eax
52fbc5:	6a 00                	push   $0x0
52fbc7:	50                   	push   %eax
52fbc8:	56                   	push   %esi
52fbc9:	e8 12 18 ff ff       	call   0x5213e0
52fbce:	8b f8                	mov    %eax,%edi
52fbd0:	83 c4 0c             	add    $0xc,%esp
52fbd3:	85 ff                	test   %edi,%edi
52fbd5:	74 44                	je     0x52fc1b
52fbd7:	8b 45 0c             	mov    0xc(%ebp),%eax
52fbda:	8d 4b 05             	lea    0x5(%ebx),%ecx
52fbdd:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
52fbe0:	66 89 47 06          	mov    %ax,0x6(%edi)
52fbe4:	89 4f 10             	mov    %ecx,0x10(%edi)
52fbe7:	8b 4d 10             	mov    0x10(%ebp),%ecx
52fbea:	03 c8                	add    %eax,%ecx
52fbec:	8d 43 ff             	lea    -0x1(%ebx),%eax
52fbef:	8d 04 83             	lea    (%ebx,%eax,4),%eax
52fbf2:	66 89 4f 08          	mov    %cx,0x8(%edi)
52fbf6:	8a 4e 4e             	mov    0x4e(%esi),%cl
52fbf9:	50                   	push   %eax
52fbfa:	8d 47 18             	lea    0x18(%edi),%eax
52fbfd:	88 4f 04             	mov    %cl,0x4(%edi)
52fc00:	6a 00                	push   $0x0
52fc02:	50                   	push   %eax
52fc03:	89 77 0c             	mov    %esi,0xc(%edi)
52fc06:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
52fc0c:	e8 ef 3d 0b 00       	call   0x5e3a00
52fc11:	83 c4 0c             	add    $0xc,%esp
52fc14:	8b c7                	mov    %edi,%eax
52fc16:	5f                   	pop    %edi
52fc17:	5e                   	pop    %esi
52fc18:	5b                   	pop    %ebx
52fc19:	5d                   	pop    %ebp
52fc1a:	c3                   	ret
52fc1b:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
52fc1f:	75 3f                	jne    0x52fc60
52fc21:	80 7e 52 00          	cmpb   $0x0,0x52(%esi)
52fc25:	75 39                	jne    0x52fc60
52fc27:	83 be bc 00 00 00 00 	cmpl   $0x0,0xbc(%esi)
52fc2e:	c6 46 51 01          	movb   $0x1,0x51(%esi)
52fc32:	7e 0a                	jle    0x52fc3e
52fc34:	c7 86 10 01 00 00 01 	movl   $0x1,0x110(%esi)
52fc3b:	00 00 00
52fc3e:	ff 86 18 01 00 00    	incl   0x118(%esi)
52fc44:	33 c0                	xor    %eax,%eax
52fc46:	66 89 86 1c 01 00 00 	mov    %ax,0x11c(%esi)
52fc4d:	8b 86 f4 00 00 00    	mov    0xf4(%esi),%eax
52fc53:	85 c0                	test   %eax,%eax
52fc55:	74 07                	je     0x52fc5e
52fc57:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
52fc5e:	8b c7                	mov    %edi,%eax
52fc60:	5f                   	pop    %edi
52fc61:	5e                   	pop    %esi
52fc62:	5b                   	pop    %ebx
52fc63:	5d                   	pop    %ebp
52fc64:	c3                   	ret
52fc65:	cc                   	int3
52fc66:	cc                   	int3
52fc67:	cc                   	int3
52fc68:	cc                   	int3
52fc69:	cc                   	int3
52fc6a:	cc                   	int3
52fc6b:	cc                   	int3
52fc6c:	cc                   	int3
52fc6d:	cc                   	int3
52fc6e:	cc                   	int3
52fc6f:	cc                   	int3
52fc70:	55                   	push   %ebp
52fc71:	8b ec                	mov    %esp,%ebp
52fc73:	51                   	push   %ecx
52fc74:	8b 45 14             	mov    0x14(%ebp),%eax
52fc77:	56                   	push   %esi
52fc78:	8b 75 0c             	mov    0xc(%ebp),%esi
52fc7b:	40                   	inc    %eax
52fc7c:	57                   	push   %edi
52fc7d:	50                   	push   %eax
52fc7e:	8b 45 08             	mov    0x8(%ebp),%eax
52fc81:	8b 0e                	mov    (%esi),%ecx
52fc83:	89 4d fc             	mov    %ecx,-0x4(%ebp)
52fc86:	2b 4d 10             	sub    0x10(%ebp),%ecx
52fc89:	51                   	push   %ecx
52fc8a:	ff 30                	push   (%eax)
52fc8c:	e8 1f ff ff ff       	call   0x52fbb0
52fc91:	8b f8                	mov    %eax,%edi
52fc93:	83 c4 0c             	add    $0xc,%esp
52fc96:	85 ff                	test   %edi,%edi
52fc98:	74 56                	je     0x52fcf0
52fc9a:	8b 45 10             	mov    0x10(%ebp),%eax
52fc9d:	53                   	push   %ebx
52fc9e:	8b d8                	mov    %eax,%ebx
52fca0:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52fca3:	8d 34 8e             	lea    (%esi,%ecx,4),%esi
52fca6:	83 c6 04             	add    $0x4,%esi
52fca9:	3b 45 fc             	cmp    -0x4(%ebp),%eax
52fcac:	7d 3f                	jge    0x52fced
52fcae:	8d 47 14             	lea    0x14(%edi),%eax
52fcb1:	89 45 0c             	mov    %eax,0xc(%ebp)
52fcb4:	ff 36                	push   (%esi)
52fcb6:	ff 75 08             	push   0x8(%ebp)
52fcb9:	e8 22 66 ff ff       	call   0x5262e0
52fcbe:	83 c4 08             	add    $0x8,%esp
52fcc1:	85 c0                	test   %eax,%eax
52fcc3:	75 08                	jne    0x52fccd
52fcc5:	8b 45 08             	mov    0x8(%ebp),%eax
52fcc8:	8b 00                	mov    (%eax),%eax
52fcca:	8b 40 08             	mov    0x8(%eax),%eax
52fccd:	8b 55 0c             	mov    0xc(%ebp),%edx
52fcd0:	89 02                	mov    %eax,(%edx)
52fcd2:	83 c2 04             	add    $0x4,%edx
52fcd5:	8b 4f 10             	mov    0x10(%edi),%ecx
52fcd8:	2b 4d 10             	sub    0x10(%ebp),%ecx
52fcdb:	8a 46 08             	mov    0x8(%esi),%al
52fcde:	83 c6 14             	add    $0x14,%esi
52fce1:	89 55 0c             	mov    %edx,0xc(%ebp)
52fce4:	88 04 19             	mov    %al,(%ecx,%ebx,1)
52fce7:	43                   	inc    %ebx
52fce8:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
52fceb:	7c c7                	jl     0x52fcb4
52fced:	8b c7                	mov    %edi,%eax
52fcef:	5b                   	pop    %ebx
52fcf0:	5f                   	pop    %edi
52fcf1:	5e                   	pop    %esi
52fcf2:	8b e5                	mov    %ebp,%esp
52fcf4:	5d                   	pop    %ebp
52fcf5:	c3                   	ret
52fcf6:	cc                   	int3
52fcf7:	cc                   	int3
52fcf8:	cc                   	int3
52fcf9:	cc                   	int3
52fcfa:	cc                   	int3
52fcfb:	cc                   	int3
52fcfc:	cc                   	int3
52fcfd:	cc                   	int3
52fcfe:	cc                   	int3
52fcff:	cc                   	int3
52fd00:	55                   	push   %ebp
52fd01:	8b ec                	mov    %esp,%ebp
52fd03:	8b 4d 08             	mov    0x8(%ebp),%ecx
52fd06:	53                   	push   %ebx
52fd07:	8b 5d 0c             	mov    0xc(%ebp),%ebx
52fd0a:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
52fd0e:	0f b7 43 34          	movzwl 0x34(%ebx),%eax
52fd12:	0f b7 53 32          	movzwl 0x32(%ebx),%edx
52fd16:	89 45 0c             	mov    %eax,0xc(%ebp)
52fd19:	74 05                	je     0x52fd20
52fd1b:	33 c0                	xor    %eax,%eax
52fd1d:	5b                   	pop    %ebx
52fd1e:	5d                   	pop    %ebp
52fd1f:	c3                   	ret
52fd20:	f6 43 38 08          	testb  $0x8,0x38(%ebx)
52fd24:	56                   	push   %esi
52fd25:	74 06                	je     0x52fd2d
52fd27:	2b c2                	sub    %edx,%eax
52fd29:	50                   	push   %eax
52fd2a:	52                   	push   %edx
52fd2b:	eb 03                	jmp    0x52fd30
52fd2d:	6a 00                	push   $0x0
52fd2f:	50                   	push   %eax
52fd30:	ff 31                	push   (%ecx)
52fd32:	e8 79 fe ff ff       	call   0x52fbb0
52fd37:	8b f0                	mov    %eax,%esi
52fd39:	83 c4 0c             	add    $0xc,%esp
52fd3c:	85 f6                	test   %esi,%esi
52fd3e:	74 79                	je     0x52fdb9
52fd40:	57                   	push   %edi
52fd41:	33 ff                	xor    %edi,%edi
52fd43:	39 7d 0c             	cmp    %edi,0xc(%ebp)
52fd46:	76 3b                	jbe    0x52fd83
52fd48:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
52fd4f:	00
52fd50:	8b 43 20             	mov    0x20(%ebx),%eax
52fd53:	8b 04 b8             	mov    (%eax,%edi,4),%eax
52fd56:	3d 40 1c 6b 00       	cmp    $0x6b1c40,%eax
52fd5b:	75 04                	jne    0x52fd61
52fd5d:	33 c0                	xor    %eax,%eax
52fd5f:	eb 0c                	jmp    0x52fd6d
52fd61:	50                   	push   %eax
52fd62:	ff 75 08             	push   0x8(%ebp)
52fd65:	e8 16 0d 00 00       	call   0x530a80
52fd6a:	83 c4 08             	add    $0x8,%esp
52fd6d:	89 44 be 14          	mov    %eax,0x14(%esi,%edi,4)
52fd71:	8b 43 1c             	mov    0x1c(%ebx),%eax
52fd74:	8b 4e 10             	mov    0x10(%esi),%ecx
52fd77:	8a 04 07             	mov    (%edi,%eax,1),%al
52fd7a:	88 04 0f             	mov    %al,(%edi,%ecx,1)
52fd7d:	47                   	inc    %edi
52fd7e:	3b 7d 0c             	cmp    0xc(%ebp),%edi
52fd81:	7c cd                	jl     0x52fd50
52fd83:	8b 4d 08             	mov    0x8(%ebp),%ecx
52fd86:	5f                   	pop    %edi
52fd87:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
52fd8b:	74 2c                	je     0x52fdb9
52fd8d:	8b 43 38             	mov    0x38(%ebx),%eax
52fd90:	a9 00 01 00 00       	test   $0x100,%eax
52fd95:	75 0f                	jne    0x52fda6