51eb31:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51eb34:	74 34                	je     0x51eb6a
51eb36:	8a 02                	mov    (%edx),%al
51eb38:	3a 06                	cmp    (%esi),%al
51eb3a:	75 27                	jne    0x51eb63
51eb3c:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51eb3f:	74 29                	je     0x51eb6a
51eb41:	8a 42 01             	mov    0x1(%edx),%al
51eb44:	3a 46 01             	cmp    0x1(%esi),%al
51eb47:	75 1a                	jne    0x51eb63
51eb49:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51eb4c:	74 1c                	je     0x51eb6a
51eb4e:	8a 42 02             	mov    0x2(%edx),%al
51eb51:	3a 46 02             	cmp    0x2(%esi),%al
51eb54:	75 0d                	jne    0x51eb63
51eb56:	83 f9 ff             	cmp    $0xffffffff,%ecx
51eb59:	74 0f                	je     0x51eb6a
51eb5b:	8a 42 03             	mov    0x3(%edx),%al
51eb5e:	3a 46 03             	cmp    0x3(%esi),%al
51eb61:	74 07                	je     0x51eb6a
51eb63:	1b c0                	sbb    %eax,%eax
51eb65:	83 c8 01             	or     $0x1,%eax
51eb68:	eb 02                	jmp    0x51eb6c
51eb6a:	33 c0                	xor    %eax,%eax
51eb6c:	85 c0                	test   %eax,%eax
51eb6e:	75 0b                	jne    0x51eb7b
51eb70:	83 fb 07             	cmp    $0x7,%ebx
51eb73:	72 06                	jb     0x51eb7b
51eb75:	0f 86 97 00 00 00    	jbe    0x51ec12
51eb7b:	8b 74 24 18          	mov    0x18(%esp),%esi
51eb7f:	83 ff 10             	cmp    $0x10,%edi
51eb82:	72 02                	jb     0x51eb86
51eb84:	8b 36                	mov    (%esi),%esi
51eb86:	83 7d 14 10          	cmpl   $0x10,0x14(%ebp)
51eb8a:	72 05                	jb     0x51eb91
51eb8c:	8b 55 00             	mov    0x0(%ebp),%edx
51eb8f:	eb 02                	jmp    0x51eb93
51eb91:	8b d5                	mov    %ebp,%edx
51eb93:	8b 7d 10             	mov    0x10(%ebp),%edi
51eb96:	8b cb                	mov    %ebx,%ecx
51eb98:	3b fb                	cmp    %ebx,%edi
51eb9a:	0f 42 cf             	cmovb  %edi,%ecx
51eb9d:	85 c9                	test   %ecx,%ecx
51eb9f:	74 55                	je     0x51ebf6
51eba1:	83 e9 04             	sub    $0x4,%ecx
51eba4:	72 11                	jb     0x51ebb7
51eba6:	8b 02                	mov    (%edx),%eax
51eba8:	3b 06                	cmp    (%esi),%eax
51ebaa:	75 10                	jne    0x51ebbc
51ebac:	83 c2 04             	add    $0x4,%edx
51ebaf:	83 c6 04             	add    $0x4,%esi
51ebb2:	83 e9 04             	sub    $0x4,%ecx
51ebb5:	73 ef                	jae    0x51eba6
51ebb7:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51ebba:	74 34                	je     0x51ebf0
51ebbc:	8a 02                	mov    (%edx),%al
51ebbe:	3a 06                	cmp    (%esi),%al
51ebc0:	75 27                	jne    0x51ebe9
51ebc2:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51ebc5:	74 29                	je     0x51ebf0
51ebc7:	8a 42 01             	mov    0x1(%edx),%al
51ebca:	3a 46 01             	cmp    0x1(%esi),%al
51ebcd:	75 1a                	jne    0x51ebe9
51ebcf:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51ebd2:	74 1c                	je     0x51ebf0
51ebd4:	8a 42 02             	mov    0x2(%edx),%al
51ebd7:	3a 46 02             	cmp    0x2(%esi),%al
51ebda:	75 0d                	jne    0x51ebe9
51ebdc:	83 f9 ff             	cmp    $0xffffffff,%ecx
51ebdf:	74 0f                	je     0x51ebf0
51ebe1:	8a 42 03             	mov    0x3(%edx),%al
51ebe4:	3a 46 03             	cmp    0x3(%esi),%al
51ebe7:	74 07                	je     0x51ebf0
51ebe9:	1b c0                	sbb    %eax,%eax
51ebeb:	83 c8 01             	or     $0x1,%eax
51ebee:	eb 02                	jmp    0x51ebf2
51ebf0:	33 c0                	xor    %eax,%eax
51ebf2:	85 c0                	test   %eax,%eax
51ebf4:	75 0d                	jne    0x51ec03
51ebf6:	3b df                	cmp    %edi,%ebx
51ebf8:	76 05                	jbe    0x51ebff
51ebfa:	83 c8 ff             	or     $0xffffffff,%eax
51ebfd:	eb 04                	jmp    0x51ec03
51ebff:	1b c0                	sbb    %eax,%eax
51ec01:	f7 d8                	neg    %eax
51ec03:	c1 e8 1f             	shr    $0x1f,%eax
51ec06:	84 c0                	test   %al,%al
51ec08:	0f 85 d0 01 00 00    	jne    0x51edde
51ec0e:	8b 7c 24 20          	mov    0x20(%esp),%edi
51ec12:	83 ff 10             	cmp    $0x10,%edi
51ec15:	72 08                	jb     0x51ec1f
51ec17:	8b 44 24 18          	mov    0x18(%esp),%eax
51ec1b:	8b 10                	mov    (%eax),%edx
51ec1d:	eb 04                	jmp    0x51ec23
51ec1f:	8b 54 24 18          	mov    0x18(%esp),%edx
51ec23:	b9 07 00 00 00       	mov    $0x7,%ecx
51ec28:	3b d9                	cmp    %ecx,%ebx
51ec2a:	0f 42 cb             	cmovb  %ebx,%ecx
51ec2d:	85 c9                	test   %ecx,%ecx
51ec2f:	74 5f                	je     0x51ec90
51ec31:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51ec36:	83 e9 04             	sub    $0x4,%ecx
51ec39:	72 16                	jb     0x51ec51
51ec3b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
51ec40:	8b 02                	mov    (%edx),%eax
51ec42:	3b 06                	cmp    (%esi),%eax
51ec44:	75 10                	jne    0x51ec56
51ec46:	83 c2 04             	add    $0x4,%edx
51ec49:	83 c6 04             	add    $0x4,%esi
51ec4c:	83 e9 04             	sub    $0x4,%ecx
51ec4f:	73 ef                	jae    0x51ec40
51ec51:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51ec54:	74 34                	je     0x51ec8a
51ec56:	8a 02                	mov    (%edx),%al
51ec58:	3a 06                	cmp    (%esi),%al
51ec5a:	75 27                	jne    0x51ec83
51ec5c:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51ec5f:	74 29                	je     0x51ec8a
51ec61:	8a 42 01             	mov    0x1(%edx),%al
51ec64:	3a 46 01             	cmp    0x1(%esi),%al
51ec67:	75 1a                	jne    0x51ec83
51ec69:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51ec6c:	74 1c                	je     0x51ec8a
51ec6e:	8a 42 02             	mov    0x2(%edx),%al
51ec71:	3a 46 02             	cmp    0x2(%esi),%al
51ec74:	75 0d                	jne    0x51ec83
51ec76:	83 f9 ff             	cmp    $0xffffffff,%ecx
51ec79:	74 0f                	je     0x51ec8a
51ec7b:	8a 42 03             	mov    0x3(%edx),%al
51ec7e:	3a 46 03             	cmp    0x3(%esi),%al
51ec81:	74 07                	je     0x51ec8a
51ec83:	1b c0                	sbb    %eax,%eax
51ec85:	83 c8 01             	or     $0x1,%eax
51ec88:	eb 02                	jmp    0x51ec8c
51ec8a:	33 c0                	xor    %eax,%eax
51ec8c:	85 c0                	test   %eax,%eax
51ec8e:	75 0b                	jne    0x51ec9b
51ec90:	83 fb 07             	cmp    $0x7,%ebx
51ec93:	72 06                	jb     0x51ec9b
51ec95:	0f 86 5d 01 00 00    	jbe    0x51edf8
51ec9b:	83 7d 14 10          	cmpl   $0x10,0x14(%ebp)
51ec9f:	72 05                	jb     0x51eca6
51eca1:	8b 55 00             	mov    0x0(%ebp),%edx
51eca4:	eb 02                	jmp    0x51eca8
51eca6:	8b d5                	mov    %ebp,%edx
51eca8:	8b 7d 10             	mov    0x10(%ebp),%edi
51ecab:	b9 07 00 00 00       	mov    $0x7,%ecx
51ecb0:	3b f9                	cmp    %ecx,%edi
51ecb2:	0f 42 cf             	cmovb  %edi,%ecx
51ecb5:	85 c9                	test   %ecx,%ecx
51ecb7:	74 5a                	je     0x51ed13
51ecb9:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51ecbe:	83 e9 04             	sub    $0x4,%ecx
51ecc1:	72 11                	jb     0x51ecd4
51ecc3:	8b 02                	mov    (%edx),%eax
51ecc5:	3b 06                	cmp    (%esi),%eax
51ecc7:	75 10                	jne    0x51ecd9
51ecc9:	83 c2 04             	add    $0x4,%edx
51eccc:	83 c6 04             	add    $0x4,%esi
51eccf:	83 e9 04             	sub    $0x4,%ecx
51ecd2:	73 ef                	jae    0x51ecc3
51ecd4:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51ecd7:	74 34                	je     0x51ed0d
51ecd9:	8a 02                	mov    (%edx),%al
51ecdb:	3a 06                	cmp    (%esi),%al
51ecdd:	75 27                	jne    0x51ed06
51ecdf:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51ece2:	74 29                	je     0x51ed0d
51ece4:	8a 42 01             	mov    0x1(%edx),%al
51ece7:	3a 46 01             	cmp    0x1(%esi),%al
51ecea:	75 1a                	jne    0x51ed06
51ecec:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51ecef:	74 1c                	je     0x51ed0d
51ecf1:	8a 42 02             	mov    0x2(%edx),%al
51ecf4:	3a 46 02             	cmp    0x2(%esi),%al
51ecf7:	75 0d                	jne    0x51ed06
51ecf9:	83 f9 ff             	cmp    $0xffffffff,%ecx
51ecfc:	74 0f                	je     0x51ed0d
51ecfe:	8a 42 03             	mov    0x3(%edx),%al
51ed01:	3a 46 03             	cmp    0x3(%esi),%al
51ed04:	74 07                	je     0x51ed0d
51ed06:	1b c0                	sbb    %eax,%eax
51ed08:	83 c8 01             	or     $0x1,%eax
51ed0b:	eb 02                	jmp    0x51ed0f
51ed0d:	33 c0                	xor    %eax,%eax
51ed0f:	85 c0                	test   %eax,%eax
51ed11:	75 0b                	jne    0x51ed1e
51ed13:	83 ff 07             	cmp    $0x7,%edi
51ed16:	72 06                	jb     0x51ed1e
51ed18:	0f 86 96 00 00 00    	jbe    0x51edb4
51ed1e:	83 7d 14 10          	cmpl   $0x10,0x14(%ebp)
51ed22:	72 05                	jb     0x51ed29
51ed24:	8b 75 00             	mov    0x0(%ebp),%esi
51ed27:	eb 02                	jmp    0x51ed2b
51ed29:	8b f5                	mov    %ebp,%esi
51ed2b:	8b 44 24 18          	mov    0x18(%esp),%eax
51ed2f:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
51ed33:	72 04                	jb     0x51ed39
51ed35:	8b 08                	mov    (%eax),%ecx
51ed37:	eb 02                	jmp    0x51ed3b
51ed39:	8b c8                	mov    %eax,%ecx
51ed3b:	3b df                	cmp    %edi,%ebx
51ed3d:	8b d7                	mov    %edi,%edx
51ed3f:	0f 42 d3             	cmovb  %ebx,%edx
51ed42:	85 d2                	test   %edx,%edx
51ed44:	74 5a                	je     0x51eda0
51ed46:	83 ea 04             	sub    $0x4,%edx
51ed49:	72 16                	jb     0x51ed61
51ed4b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
51ed50:	8b 01                	mov    (%ecx),%eax
51ed52:	3b 06                	cmp    (%esi),%eax
51ed54:	75 10                	jne    0x51ed66
51ed56:	83 c1 04             	add    $0x4,%ecx
51ed59:	83 c6 04             	add    $0x4,%esi
51ed5c:	83 ea 04             	sub    $0x4,%edx
51ed5f:	73 ef                	jae    0x51ed50
51ed61:	83 fa fc             	cmp    $0xfffffffc,%edx
51ed64:	74 34                	je     0x51ed9a
51ed66:	8a 01                	mov    (%ecx),%al
51ed68:	3a 06                	cmp    (%esi),%al
51ed6a:	75 27                	jne    0x51ed93
51ed6c:	83 fa fd             	cmp    $0xfffffffd,%edx
51ed6f:	74 29                	je     0x51ed9a
51ed71:	8a 41 01             	mov    0x1(%ecx),%al
51ed74:	3a 46 01             	cmp    0x1(%esi),%al
51ed77:	75 1a                	jne    0x51ed93
51ed79:	83 fa fe             	cmp    $0xfffffffe,%edx
51ed7c:	74 1c                	je     0x51ed9a
51ed7e:	8a 41 02             	mov    0x2(%ecx),%al
51ed81:	3a 46 02             	cmp    0x2(%esi),%al
51ed84:	75 0d                	jne    0x51ed93
51ed86:	83 fa ff             	cmp    $0xffffffff,%edx
51ed89:	74 0f                	je     0x51ed9a
51ed8b:	8a 41 03             	mov    0x3(%ecx),%al
51ed8e:	3a 46 03             	cmp    0x3(%esi),%al
51ed91:	74 07                	je     0x51ed9a
51ed93:	1b c0                	sbb    %eax,%eax
51ed95:	83 c8 01             	or     $0x1,%eax
51ed98:	eb 02                	jmp    0x51ed9c
51ed9a:	33 c0                	xor    %eax,%eax
51ed9c:	85 c0                	test   %eax,%eax
51ed9e:	75 0d                	jne    0x51edad
51eda0:	3b fb                	cmp    %ebx,%edi
51eda2:	76 05                	jbe    0x51eda9
51eda4:	83 c8 ff             	or     $0xffffffff,%eax
51eda7:	eb 04                	jmp    0x51edad
51eda9:	1b c0                	sbb    %eax,%eax
51edab:	f7 d8                	neg    %eax
51edad:	c1 e8 1f             	shr    $0x1f,%eax
51edb0:	84 c0                	test   %al,%al
51edb2:	75 44                	jne    0x51edf8
51edb4:	8b 7c 24 14          	mov    0x14(%esp),%edi
51edb8:	8b c7                	mov    %edi,%eax
51edba:	8b 5c 24 18          	mov    0x18(%esp),%ebx
51edbe:	81 c7 ac 01 00 00    	add    $0x1ac,%edi
51edc4:	89 7c 24 14          	mov    %edi,0x14(%esp)
51edc8:	3b c3                	cmp    %ebx,%eax
51edca:	74 16                	je     0x51ede2
51edcc:	8d 87 54 fe ff ff    	lea    -0x1ac(%edi),%eax
51edd2:	53                   	push   %ebx
51edd3:	50                   	push   %eax
51edd4:	e8 cc d1 ee ff       	call   0x40bfa5
51edd9:	83 c4 08             	add    $0x8,%esp
51eddc:	eb 04                	jmp    0x51ede2
51edde:	8b 5c 24 18          	mov    0x18(%esp),%ebx
51ede2:	8b 74 24 30          	mov    0x30(%esp),%esi
51ede6:	81 c3 ac 01 00 00    	add    $0x1ac,%ebx
51edec:	89 5c 24 18          	mov    %ebx,0x18(%esp)
51edf0:	3b de                	cmp    %esi,%ebx
51edf2:	0f 82 e8 fa ff ff    	jb     0x51e8e0
51edf8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
51edfc:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
51ee00:	3b c1                	cmp    %ecx,%eax
51ee02:	0f 86 b7 01 00 00    	jbe    0x51efbf
51ee08:	8d b8 54 fe ff ff    	lea    -0x1ac(%eax),%edi
51ee0e:	66 90                	xchg   %ax,%ax
51ee10:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
51ee14:	72 04                	jb     0x51ee1a
51ee16:	8b 17                	mov    (%edi),%edx
51ee18:	eb 02                	jmp    0x51ee1c
51ee1a:	8b d7                	mov    %edi,%edx
51ee1c:	8b 6f 10             	mov    0x10(%edi),%ebp
51ee1f:	b9 07 00 00 00       	mov    $0x7,%ecx
51ee24:	3b e9                	cmp    %ecx,%ebp
51ee26:	0f 42 cd             	cmovb  %ebp,%ecx
51ee29:	85 c9                	test   %ecx,%ecx
51ee2b:	74 5e                	je     0x51ee8b
51ee2d:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51ee32:	83 e9 04             	sub    $0x4,%ecx
51ee35:	72 11                	jb     0x51ee48
51ee37:	8b 02                	mov    (%edx),%eax
51ee39:	3b 06                	cmp    (%esi),%eax
51ee3b:	75 10                	jne    0x51ee4d
51ee3d:	83 c2 04             	add    $0x4,%edx
51ee40:	83 c6 04             	add    $0x4,%esi
51ee43:	83 e9 04             	sub    $0x4,%ecx
51ee46:	73 ef                	jae    0x51ee37
51ee48:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51ee4b:	74 34                	je     0x51ee81
51ee4d:	8a 02                	mov    (%edx),%al
51ee4f:	3a 06                	cmp    (%esi),%al
51ee51:	75 27                	jne    0x51ee7a
51ee53:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51ee56:	74 29                	je     0x51ee81
51ee58:	8a 42 01             	mov    0x1(%edx),%al
51ee5b:	3a 46 01             	cmp    0x1(%esi),%al
51ee5e:	75 1a                	jne    0x51ee7a
51ee60:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51ee63:	74 1c                	je     0x51ee81
51ee65:	8a 42 02             	mov    0x2(%edx),%al
51ee68:	3a 46 02             	cmp    0x2(%esi),%al
51ee6b:	75 0d                	jne    0x51ee7a
51ee6d:	83 f9 ff             	cmp    $0xffffffff,%ecx
51ee70:	74 0f                	je     0x51ee81
51ee72:	8a 42 03             	mov    0x3(%edx),%al
51ee75:	3a 46 03             	cmp    0x3(%esi),%al
51ee78:	74 07                	je     0x51ee81
51ee7a:	1b c0                	sbb    %eax,%eax
51ee7c:	83 c8 01             	or     $0x1,%eax
51ee7f:	eb 02                	jmp    0x51ee83
51ee81:	33 c0                	xor    %eax,%eax
51ee83:	85 c0                	test   %eax,%eax
51ee85:	75 0f                	jne    0x51ee96
51ee87:	8b 44 24 1c          	mov    0x1c(%esp),%eax
51ee8b:	83 fd 07             	cmp    $0x7,%ebp
51ee8e:	72 06                	jb     0x51ee96
51ee90:	0f 86 f4 00 00 00    	jbe    0x51ef8a
51ee96:	8b 44 24 10          	mov    0x10(%esp),%eax
51ee9a:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
51ee9e:	72 04                	jb     0x51eea4
51eea0:	8b 10                	mov    (%eax),%edx
51eea2:	eb 02                	jmp    0x51eea6
51eea4:	8b d0                	mov    %eax,%edx
51eea6:	8b 58 10             	mov    0x10(%eax),%ebx
51eea9:	b9 07 00 00 00       	mov    $0x7,%ecx
51eeae:	3b d9                	cmp    %ecx,%ebx
51eeb0:	0f 42 cb             	cmovb  %ebx,%ecx
51eeb3:	85 c9                	test   %ecx,%ecx
51eeb5:	74 5a                	je     0x51ef11
51eeb7:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51eebc:	83 e9 04             	sub    $0x4,%ecx
51eebf:	72 11                	jb     0x51eed2
51eec1:	8b 02                	mov    (%edx),%eax
51eec3:	3b 06                	cmp    (%esi),%eax
51eec5:	75 10                	jne    0x51eed7
51eec7:	83 c2 04             	add    $0x4,%edx
51eeca:	83 c6 04             	add    $0x4,%esi
51eecd:	83 e9 04             	sub    $0x4,%ecx
51eed0:	73 ef                	jae    0x51eec1
51eed2:	83 f9 fc             	cmp    $0xfffffffc,%ecx