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
51eed5:	74 34                	je     0x51ef0b
51eed7:	8a 02                	mov    (%edx),%al
51eed9:	3a 06                	cmp    (%esi),%al
51eedb:	75 27                	jne    0x51ef04
51eedd:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51eee0:	74 29                	je     0x51ef0b
51eee2:	8a 42 01             	mov    0x1(%edx),%al
51eee5:	3a 46 01             	cmp    0x1(%esi),%al
51eee8:	75 1a                	jne    0x51ef04
51eeea:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51eeed:	74 1c                	je     0x51ef0b
51eeef:	8a 42 02             	mov    0x2(%edx),%al
51eef2:	3a 46 02             	cmp    0x2(%esi),%al
51eef5:	75 0d                	jne    0x51ef04
51eef7:	83 f9 ff             	cmp    $0xffffffff,%ecx
51eefa:	74 0f                	je     0x51ef0b
51eefc:	8a 42 03             	mov    0x3(%edx),%al
51eeff:	3a 46 03             	cmp    0x3(%esi),%al
51ef02:	74 07                	je     0x51ef0b
51ef04:	1b c0                	sbb    %eax,%eax
51ef06:	83 c8 01             	or     $0x1,%eax
51ef09:	eb 02                	jmp    0x51ef0d
51ef0b:	33 c0                	xor    %eax,%eax
51ef0d:	85 c0                	test   %eax,%eax
51ef0f:	75 07                	jne    0x51ef18
51ef11:	83 fb 07             	cmp    $0x7,%ebx
51ef14:	72 02                	jb     0x51ef18
51ef16:	76 46                	jbe    0x51ef5e
51ef18:	8b 44 24 10          	mov    0x10(%esp),%eax
51ef1c:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
51ef20:	72 04                	jb     0x51ef26
51ef22:	8b 10                	mov    (%eax),%edx
51ef24:	eb 02                	jmp    0x51ef28
51ef26:	8b d0                	mov    %eax,%edx
51ef28:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
51ef2c:	72 04                	jb     0x51ef32
51ef2e:	8b 0f                	mov    (%edi),%ecx
51ef30:	eb 02                	jmp    0x51ef34
51ef32:	8b cf                	mov    %edi,%ecx
51ef34:	3b eb                	cmp    %ebx,%ebp
51ef36:	8b c3                	mov    %ebx,%eax
51ef38:	0f 42 c5             	cmovb  %ebp,%eax
51ef3b:	50                   	push   %eax
51ef3c:	52                   	push   %edx
51ef3d:	51                   	push   %ecx
51ef3e:	e8 ba 34 f1 ff       	call   0x4323fd
51ef43:	83 c4 0c             	add    $0xc,%esp
51ef46:	85 c0                	test   %eax,%eax
51ef48:	75 0d                	jne    0x51ef57
51ef4a:	3b dd                	cmp    %ebp,%ebx
51ef4c:	76 05                	jbe    0x51ef53
51ef4e:	83 c8 ff             	or     $0xffffffff,%eax
51ef51:	eb 04                	jmp    0x51ef57
51ef53:	1b c0                	sbb    %eax,%eax
51ef55:	f7 d8                	neg    %eax
51ef57:	c1 e8 1f             	shr    $0x1f,%eax
51ef5a:	84 c0                	test   %al,%al
51ef5c:	75 32                	jne    0x51ef90
51ef5e:	8b 6c 24 10          	mov    0x10(%esp),%ebp
51ef62:	57                   	push   %edi
51ef63:	55                   	push   %ebp
51ef64:	e8 38 e0 f1 ff       	call   0x43cfa1
51ef69:	83 c4 08             	add    $0x8,%esp
51ef6c:	84 c0                	test   %al,%al
51ef6e:	75 45                	jne    0x51efb5
51ef70:	81 ed ac 01 00 00    	sub    $0x1ac,%ebp
51ef76:	89 6c 24 10          	mov    %ebp,0x10(%esp)
51ef7a:	3b ef                	cmp    %edi,%ebp
51ef7c:	74 16                	je     0x51ef94
51ef7e:	57                   	push   %edi
51ef7f:	55                   	push   %ebp
51ef80:	e8 20 d0 ee ff       	call   0x40bfa5
51ef85:	83 c4 08             	add    $0x8,%esp
51ef88:	eb 0a                	jmp    0x51ef94
51ef8a:	8b 6c 24 10          	mov    0x10(%esp),%ebp
51ef8e:	eb 08                	jmp    0x51ef98
51ef90:	8b 6c 24 10          	mov    0x10(%esp),%ebp
51ef94:	8b 44 24 1c          	mov    0x1c(%esp),%eax
51ef98:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
51ef9c:	2d ac 01 00 00       	sub    $0x1ac,%eax
51efa1:	81 ef ac 01 00 00    	sub    $0x1ac,%edi
51efa7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
51efab:	3b c8                	cmp    %eax,%ecx
51efad:	0f 82 5d fe ff ff    	jb     0x51ee10
51efb3:	eb 08                	jmp    0x51efbd
51efb5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
51efb9:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
51efbd:	3b c1                	cmp    %ecx,%eax
51efbf:	8b 5c 24 18          	mov    0x18(%esp),%ebx
51efc3:	8b 74 24 30          	mov    0x30(%esp),%esi
51efc7:	75 4b                	jne    0x51f014
51efc9:	3b de                	cmp    %esi,%ebx
51efcb:	0f 84 a1 00 00 00    	je     0x51f072
51efd1:	8b 7c 24 14          	mov    0x14(%esp),%edi
51efd5:	3b fb                	cmp    %ebx,%edi
51efd7:	74 0a                	je     0x51efe3
51efd9:	57                   	push   %edi
51efda:	55                   	push   %ebp
51efdb:	e8 c5 cf ee ff       	call   0x40bfa5
51efe0:	83 c4 08             	add    $0x8,%esp
51efe3:	53                   	push   %ebx
51efe4:	55                   	push   %ebp
51efe5:	81 c7 ac 01 00 00    	add    $0x1ac,%edi
51efeb:	81 c5 ac 01 00 00    	add    $0x1ac,%ebp
51eff1:	81 c3 ac 01 00 00    	add    $0x1ac,%ebx
51eff7:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
51effb:	89 6c 24 18          	mov    %ebp,0x18(%esp)
51efff:	89 5c 24 20          	mov    %ebx,0x20(%esp)
51f003:	e8 9d cf ee ff       	call   0x40bfa5
51f008:	8b 44 24 24          	mov    0x24(%esp),%eax
51f00c:	83 c4 08             	add    $0x8,%esp
51f00f:	e9 c3 f8 ff ff       	jmp    0x51e8d7
51f014:	2d ac 01 00 00       	sub    $0x1ac,%eax
51f019:	89 44 24 1c          	mov    %eax,0x1c(%esp)
51f01d:	3b de                	cmp    %esi,%ebx
51f01f:	75 38                	jne    0x51f059
51f021:	81 ed ac 01 00 00    	sub    $0x1ac,%ebp
51f027:	89 6c 24 10          	mov    %ebp,0x10(%esp)
51f02b:	3b c5                	cmp    %ebp,%eax
51f02d:	74 0a                	je     0x51f039
51f02f:	55                   	push   %ebp
51f030:	50                   	push   %eax
51f031:	e8 6f cf ee ff       	call   0x40bfa5
51f036:	83 c4 08             	add    $0x8,%esp
51f039:	8b 44 24 14          	mov    0x14(%esp),%eax
51f03d:	2d ac 01 00 00       	sub    $0x1ac,%eax
51f042:	50                   	push   %eax
51f043:	55                   	push   %ebp
51f044:	89 44 24 1c          	mov    %eax,0x1c(%esp)
51f048:	e8 58 cf ee ff       	call   0x40bfa5
51f04d:	8b 44 24 24          	mov    0x24(%esp),%eax
51f051:	83 c4 08             	add    $0x8,%esp
51f054:	e9 7e f8 ff ff       	jmp    0x51e8d7
51f059:	50                   	push   %eax
51f05a:	53                   	push   %ebx
51f05b:	e8 45 cf ee ff       	call   0x40bfa5
51f060:	8b 44 24 24          	mov    0x24(%esp),%eax
51f064:	83 c4 08             	add    $0x8,%esp
51f067:	81 c3 ac 01 00 00    	add    $0x1ac,%ebx
51f06d:	e9 61 f8 ff ff       	jmp    0x51e8d3
51f072:	8b 44 24 28          	mov    0x28(%esp),%eax
51f076:	8b 4c 24 14          	mov    0x14(%esp),%ecx
51f07a:	5f                   	pop    %edi
51f07b:	5e                   	pop    %esi
51f07c:	89 28                	mov    %ebp,(%eax)
51f07e:	5d                   	pop    %ebp
51f07f:	89 48 04             	mov    %ecx,0x4(%eax)
51f082:	5b                   	pop    %ebx
51f083:	83 c4 14             	add    $0x14,%esp
51f086:	c3                   	ret
51f087:	cc                   	int3
51f088:	cc                   	int3
51f089:	cc                   	int3
51f08a:	cc                   	int3
51f08b:	cc                   	int3
51f08c:	cc                   	int3
51f08d:	cc                   	int3
51f08e:	cc                   	int3
51f08f:	cc                   	int3
51f090:	cc                   	int3
51f091:	cc                   	int3
51f092:	cc                   	int3
51f093:	cc                   	int3
51f094:	cc                   	int3
51f095:	cc                   	int3
51f096:	cc                   	int3
51f097:	cc                   	int3
51f098:	cc                   	int3
51f099:	cc                   	int3
51f09a:	cc                   	int3
51f09b:	cc                   	int3
51f09c:	cc                   	int3
51f09d:	cc                   	int3
51f09e:	cc                   	int3
51f09f:	cc                   	int3