ae6dbe:	cc                   	int3
ae6dbf:	cc                   	int3
ae6dc0:	cc                   	int3
ae6dc1:	cc                   	int3
ae6dc2:	cc                   	int3
ae6dc3:	cc                   	int3
ae6dc4:	cc                   	int3
ae6dc5:	cc                   	int3
ae6dc6:	cc                   	int3
ae6dc7:	cc                   	int3
ae6dc8:	cc                   	int3
ae6dc9:	cc                   	int3
ae6dca:	cc                   	int3
ae6dcb:	cc                   	int3
ae6dcc:	cc                   	int3
ae6dcd:	cc                   	int3
ae6dce:	cc                   	int3
ae6dcf:	cc                   	int3
ae6dd0:	cc                   	int3
ae6dd1:	cc                   	int3
ae6dd2:	cc                   	int3
ae6dd3:	cc                   	int3
ae6dd4:	cc                   	int3
ae6dd5:	cc                   	int3
ae6dd6:	cc                   	int3
ae6dd7:	cc                   	int3
ae6dd8:	cc                   	int3
ae6dd9:	cc                   	int3
ae6dda:	cc                   	int3
ae6ddb:	cc                   	int3
ae6ddc:	8b ff                	mov    %edi,%edi
ae6dde:	55                   	push   %ebp
ae6ddf:	8b ec                	mov    %esp,%ebp
ae6de1:	83 ec 20             	sub    $0x20,%esp
ae6de4:	53                   	push   %ebx
ae6de5:	56                   	push   %esi
ae6de6:	57                   	push   %edi
ae6de7:	33 ff                	xor    %edi,%edi
ae6de9:	89 7d e0             	mov    %edi,-0x20(%ebp)
ae6dec:	89 7d e4             	mov    %edi,-0x1c(%ebp)
ae6def:	89 7d e8             	mov    %edi,-0x18(%ebp)
ae6df2:	89 7d ec             	mov    %edi,-0x14(%ebp)
ae6df5:	89 7d f0             	mov    %edi,-0x10(%ebp)
ae6df8:	89 7d f4             	mov    %edi,-0xc(%ebp)
ae6dfb:	89 7d f8             	mov    %edi,-0x8(%ebp)
ae6dfe:	d9 75 e0             	fnstenv -0x20(%ebp)
ae6e01:	bb 1f 03 00 00       	mov    $0x31f,%ebx
ae6e06:	53                   	push   %ebx
ae6e07:	e8 8c fc ff ff       	call   0xae6a98
ae6e0c:	ff 75 08             	push   0x8(%ebp)
ae6e0f:	8b f0                	mov    %eax,%esi
ae6e11:	f7 d6                	not    %esi
ae6e13:	23 75 e0             	and    -0x20(%ebp),%esi
ae6e16:	e8 7d fc ff ff       	call   0xae6a98
ae6e1b:	59                   	pop    %ecx
ae6e1c:	0b f0                	or     %eax,%esi
ae6e1e:	59                   	pop    %ecx
ae6e1f:	89 75 e0             	mov    %esi,-0x20(%ebp)
ae6e22:	d9 65 e0             	fldenv -0x20(%ebp)
ae6e25:	83 3d a8 10 d8 00 01 	cmpl   $0x1,0xd810a8
ae6e2c:	7c 27                	jl     0xae6e55
ae6e2e:	89 7d fc             	mov    %edi,-0x4(%ebp)
ae6e31:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
ae6e35:	53                   	push   %ebx
ae6e36:	e8 ea fc ff ff       	call   0xae6b25
ae6e3b:	ff 75 08             	push   0x8(%ebp)
ae6e3e:	8b f0                	mov    %eax,%esi
ae6e40:	f7 d6                	not    %esi
ae6e42:	23 75 fc             	and    -0x4(%ebp),%esi
ae6e45:	e8 db fc ff ff       	call   0xae6b25
ae6e4a:	59                   	pop    %ecx
ae6e4b:	0b f0                	or     %eax,%esi
ae6e4d:	59                   	pop    %ecx
ae6e4e:	89 75 fc             	mov    %esi,-0x4(%ebp)
ae6e51:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
ae6e55:	5f                   	pop    %edi
ae6e56:	5e                   	pop    %esi
ae6e57:	5b                   	pop    %ebx
ae6e58:	8b e5                	mov    %ebp,%esp
ae6e5a:	5d                   	pop    %ebp
ae6e5b:	c3                   	ret
ae6e5c:	cc                   	int3
ae6e5d:	cc                   	int3
ae6e5e:	cc                   	int3
ae6e5f:	cc                   	int3
ae6e60:	cc                   	int3
ae6e61:	cc                   	int3
ae6e62:	cc                   	int3
ae6e63:	cc                   	int3
ae6e64:	cc                   	int3
ae6e65:	cc                   	int3
ae6e66:	cc                   	int3
ae6e67:	cc                   	int3
ae6e68:	cc                   	int3
ae6e69:	cc                   	int3
ae6e6a:	cc                   	int3
ae6e6b:	cc                   	int3
ae6e6c:	cc                   	int3
ae6e6d:	cc                   	int3
ae6e6e:	cc                   	int3
ae6e6f:	cc                   	int3
ae6e70:	cc                   	int3
ae6e71:	cc                   	int3
ae6e72:	cc                   	int3
ae6e73:	cc                   	int3
ae6e74:	cc                   	int3
ae6e75:	cc                   	int3
ae6e76:	cc                   	int3
ae6e77:	cc                   	int3
ae6e78:	cc                   	int3
ae6e79:	cc                   	int3
ae6e7a:	cc                   	int3
ae6e7b:	cc                   	int3
ae6e7c:	8b ff                	mov    %edi,%edi
ae6e7e:	55                   	push   %ebp
ae6e7f:	8b ec                	mov    %esp,%ebp
ae6e81:	83 ec 20             	sub    $0x20,%esp
ae6e84:	53                   	push   %ebx
ae6e85:	56                   	push   %esi
ae6e86:	57                   	push   %edi
ae6e87:	33 ff                	xor    %edi,%edi
ae6e89:	89 7d e0             	mov    %edi,-0x20(%ebp)
ae6e8c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
ae6e8f:	89 7d e8             	mov    %edi,-0x18(%ebp)
ae6e92:	89 7d ec             	mov    %edi,-0x14(%ebp)
ae6e95:	89 7d f0             	mov    %edi,-0x10(%ebp)
ae6e98:	89 7d f4             	mov    %edi,-0xc(%ebp)
ae6e9b:	89 7d f8             	mov    %edi,-0x8(%ebp)
ae6e9e:	d9 75 e0             	fnstenv -0x20(%ebp)
ae6ea1:	bb 1f 00 1f 1f       	mov    $0x1f1f001f,%ebx
ae6ea6:	53                   	push   %ebx
ae6ea7:	e8 92 fd ff ff       	call   0xae6c3e
ae6eac:	ff 75 08             	push   0x8(%ebp)
ae6eaf:	8b f0                	mov    %eax,%esi
ae6eb1:	f7 d6                	not    %esi
ae6eb3:	23 75 e4             	and    -0x1c(%ebp),%esi
ae6eb6:	e8 83 fd ff ff       	call   0xae6c3e
ae6ebb:	59                   	pop    %ecx
ae6ebc:	0b f0                	or     %eax,%esi
ae6ebe:	59                   	pop    %ecx
ae6ebf:	89 75 e4             	mov    %esi,-0x1c(%ebp)
ae6ec2:	d9 65 e0             	fldenv -0x20(%ebp)
ae6ec5:	83 3d a8 10 d8 00 01 	cmpl   $0x1,0xd810a8
ae6ecc:	7c 27                	jl     0xae6ef5
ae6ece:	89 7d fc             	mov    %edi,-0x4(%ebp)
ae6ed1:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
ae6ed5:	53                   	push   %ebx
ae6ed6:	e8 ea fc ff ff       	call   0xae6bc5
ae6edb:	ff 75 08             	push   0x8(%ebp)
ae6ede:	8b f0                	mov    %eax,%esi
ae6ee0:	f7 d6                	not    %esi
ae6ee2:	23 75 fc             	and    -0x4(%ebp),%esi
ae6ee5:	e8 db fc ff ff       	call   0xae6bc5
ae6eea:	59                   	pop    %ecx
ae6eeb:	0b f0                	or     %eax,%esi
ae6eed:	59                   	pop    %ecx
ae6eee:	89 75 fc             	mov    %esi,-0x4(%ebp)
ae6ef1:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
ae6ef5:	5f                   	pop    %edi
ae6ef6:	5e                   	pop    %esi
ae6ef7:	5b                   	pop    %ebx
ae6ef8:	8b e5                	mov    %ebp,%esp
ae6efa:	5d                   	pop    %ebp
ae6efb:	c3                   	ret
ae6efc:	cc                   	int3
ae6efd:	cc                   	int3
ae6efe:	cc                   	int3
ae6eff:	cc                   	int3
ae6f00:	cc                   	int3
ae6f01:	cc                   	int3
ae6f02:	cc                   	int3
ae6f03:	cc                   	int3
ae6f04:	cc                   	int3
ae6f05:	cc                   	int3
ae6f06:	cc                   	int3
ae6f07:	cc                   	int3
ae6f08:	cc                   	int3
ae6f09:	cc                   	int3
ae6f0a:	cc                   	int3
ae6f0b:	cc                   	int3
ae6f0c:	cc                   	int3
ae6f0d:	cc                   	int3
ae6f0e:	cc                   	int3
ae6f0f:	cc                   	int3
ae6f10:	cc                   	int3
ae6f11:	cc                   	int3
ae6f12:	cc                   	int3
ae6f13:	cc                   	int3
ae6f14:	cc                   	int3
ae6f15:	cc                   	int3
ae6f16:	cc                   	int3
ae6f17:	cc                   	int3
ae6f18:	cc                   	int3
ae6f19:	cc                   	int3
ae6f1a:	cc                   	int3
ae6f1b:	cc                   	int3
ae6f1c:	8b ff                	mov    %edi,%edi
ae6f1e:	55                   	push   %ebp
ae6f1f:	8b ec                	mov    %esp,%ebp
ae6f21:	83 ec 2c             	sub    $0x2c,%esp
ae6f24:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
ae6f29:	33 c5                	xor    %ebp,%eax
ae6f2b:	89 45 fc             	mov    %eax,-0x4(%ebp)
ae6f2e:	8b 45 08             	mov    0x8(%ebp),%eax
ae6f31:	53                   	push   %ebx
ae6f32:	56                   	push   %esi
ae6f33:	8b 75 18             	mov    0x18(%ebp),%esi
ae6f36:	89 45 d8             	mov    %eax,-0x28(%ebp)
ae6f39:	8b 45 0c             	mov    0xc(%ebp),%eax
ae6f3c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
ae6f3f:	8b 45 1c             	mov    0x1c(%ebp),%eax
ae6f42:	89 45 dc             	mov    %eax,-0x24(%ebp)
ae6f45:	57                   	push   %edi
ae6f46:	8b 7d 14             	mov    0x14(%ebp),%edi
ae6f49:	89 7d e0             	mov    %edi,-0x20(%ebp)
ae6f4c:	85 f6                	test   %esi,%esi
ae6f4e:	7e 22                	jle    0xae6f72
ae6f50:	56                   	push   %esi
ae6f51:	57                   	push   %edi
ae6f52:	e8 7c 4f 92 ff       	call   0x40bed3
ae6f57:	59                   	pop    %ecx
ae6f58:	8b f0                	mov    %eax,%esi
ae6f5a:	8b 45 dc             	mov    -0x24(%ebp),%eax
ae6f5d:	59                   	pop    %ecx
ae6f5e:	8b 5d 20             	mov    0x20(%ebp),%ebx
ae6f61:	85 db                	test   %ebx,%ebx
ae6f63:	7e 19                	jle    0xae6f7e
ae6f65:	53                   	push   %ebx
ae6f66:	50                   	push   %eax
ae6f67:	e8 67 4f 92 ff       	call   0x40bed3
ae6f6c:	59                   	pop    %ecx
ae6f6d:	59                   	pop    %ecx
ae6f6e:	8b d8                	mov    %eax,%ebx
ae6f70:	eb 11                	jmp    0xae6f83
ae6f72:	83 fe ff             	cmp    $0xffffffff,%esi
ae6f75:	7d e7                	jge    0xae6f5e
ae6f77:	33 c0                	xor    %eax,%eax
ae6f79:	e9 32 02 00 00       	jmp    0xae71b0
ae6f7e:	83 fb ff             	cmp    $0xffffffff,%ebx
ae6f81:	7c f4                	jl     0xae6f77
ae6f83:	8b 45 24             	mov    0x24(%ebp),%eax
ae6f86:	85 c0                	test   %eax,%eax
ae6f88:	75 0b                	jne    0xae6f95
ae6f8a:	8b 45 d8             	mov    -0x28(%ebp),%eax
ae6f8d:	8b 00                	mov    (%eax),%eax
ae6f8f:	8b 40 08             	mov    0x8(%eax),%eax
ae6f92:	89 45 24             	mov    %eax,0x24(%ebp)
ae6f95:	85 f6                	test   %esi,%esi
ae6f97:	74 08                	je     0xae6fa1
ae6f99:	85 db                	test   %ebx,%ebx
ae6f9b:	0f 85 9d 00 00 00    	jne    0xae703e
ae6fa1:	3b f3                	cmp    %ebx,%esi
ae6fa3:	75 08                	jne    0xae6fad
ae6fa5:	6a 02                	push   $0x2
ae6fa7:	58                   	pop    %eax
ae6fa8:	e9 03 02 00 00       	jmp    0xae71b0
ae6fad:	83 fb 01             	cmp    $0x1,%ebx
ae6fb0:	7e 08                	jle    0xae6fba
ae6fb2:	33 c0                	xor    %eax,%eax
ae6fb4:	40                   	inc    %eax
ae6fb5:	e9 f6 01 00 00       	jmp    0xae71b0
ae6fba:	83 fe 01             	cmp    $0x1,%esi
ae6fbd:	7e 04                	jle    0xae6fc3
ae6fbf:	6a 03                	push   $0x3
ae6fc1:	eb e4                	jmp    0xae6fa7
ae6fc3:	8d 4d e8             	lea    -0x18(%ebp),%ecx
ae6fc6:	51                   	push   %ecx
ae6fc7:	50                   	push   %eax
ae6fc8:	ff 15 5c 38 d8 00    	call   *0xd8385c
ae6fce:	85 c0                	test   %eax,%eax
ae6fd0:	74 a5                	je     0xae6f77
ae6fd2:	85 f6                	test   %esi,%esi
ae6fd4:	7e 2f                	jle    0xae7005
ae6fd6:	6a 02                	push   $0x2
ae6fd8:	58                   	pop    %eax
ae6fd9:	39 45 e8             	cmp    %eax,-0x18(%ebp)
ae6fdc:	72 e1                	jb     0xae6fbf
ae6fde:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
ae6fe2:	8d 4d ee             	lea    -0x12(%ebp),%ecx
ae6fe5:	74 d8                	je     0xae6fbf
ae6fe7:	8a 51 01             	mov    0x1(%ecx),%dl
ae6fea:	84 d2                	test   %dl,%dl
ae6fec:	74 d1                	je     0xae6fbf
ae6fee:	8a 1f                	mov    (%edi),%bl
ae6ff0:	3a 19                	cmp    (%ecx),%bl
ae6ff2:	72 08                	jb     0xae6ffc
ae6ff4:	3a da                	cmp    %dl,%bl
ae6ff6:	0f 86 b4 01 00 00    	jbe    0xae71b0
ae6ffc:	03 c8                	add    %eax,%ecx
ae6ffe:	80 39 00             	cmpb   $0x0,(%ecx)
ae7001:	75 e4                	jne    0xae6fe7
ae7003:	eb ba                	jmp    0xae6fbf
ae7005:	85 db                	test   %ebx,%ebx
ae7007:	7e 35                	jle    0xae703e
ae7009:	6a 02                	push   $0x2
ae700b:	58                   	pop    %eax
ae700c:	39 45 e8             	cmp    %eax,-0x18(%ebp)
ae700f:	72 a1                	jb     0xae6fb2
ae7011:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
ae7015:	8d 4d ee             	lea    -0x12(%ebp),%ecx
ae7018:	74 98                	je     0xae6fb2
ae701a:	8b 75 dc             	mov    -0x24(%ebp),%esi
ae701d:	8a 51 01             	mov    0x1(%ecx),%dl
ae7020:	84 d2                	test   %dl,%dl
ae7022:	74 8e                	je     0xae6fb2
ae7024:	8a 1e                	mov    (%esi),%bl
ae7026:	3a 19                	cmp    (%ecx),%bl
ae7028:	72 08                	jb     0xae7032
ae702a:	3a da                	cmp    %dl,%bl
ae702c:	0f 86 7e 01 00 00    	jbe    0xae71b0
ae7032:	03 c8                	add    %eax,%ecx
ae7034:	80 39 00             	cmpb   $0x0,(%ecx)
ae7037:	75 e4                	jne    0xae701d
ae7039:	e9 74 ff ff ff       	jmp    0xae6fb2
ae703e:	33 ff                	xor    %edi,%edi
ae7040:	57                   	push   %edi
ae7041:	57                   	push   %edi
ae7042:	56                   	push   %esi
ae7043:	ff 75 e0             	push   -0x20(%ebp)
ae7046:	6a 09                	push   $0x9
ae7048:	ff 75 24             	push   0x24(%ebp)
ae704b:	ff 15 c8 36 d8 00    	call   *0xd836c8
ae7051:	89 45 d8             	mov    %eax,-0x28(%ebp)
ae7054:	85 c0                	test   %eax,%eax
ae7056:	0f 84 1b ff ff ff    	je     0xae6f77
ae705c:	8d 14 00             	lea    (%eax,%eax,1),%edx
ae705f:	8d 4a 08             	lea    0x8(%edx),%ecx
ae7062:	3b d1                	cmp    %ecx,%edx
ae7064:	1b c0                	sbb    %eax,%eax
ae7066:	85 c1                	test   %eax,%ecx
ae7068:	74 59                	je     0xae70c3
ae706a:	8d 4a 08             	lea    0x8(%edx),%ecx
ae706d:	3b d1                	cmp    %ecx,%edx
ae706f:	1b c0                	sbb    %eax,%eax
ae7071:	23 c1                	and    %ecx,%eax
ae7073:	8d 4a 08             	lea    0x8(%edx),%ecx
ae7076:	3d 00 04 00 00       	cmp    $0x400,%eax
ae707b:	77 20                	ja     0xae709d
ae707d:	3b d1                	cmp    %ecx,%edx
ae707f:	1b c0                	sbb    %eax,%eax
ae7081:	23 c1                	and    %ecx,%eax
ae7083:	e8 42 5b 93 ff       	call   0x41cbca
ae7088:	8b c4                	mov    %esp,%eax
ae708a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
ae708d:	85 c0                	test   %eax,%eax
ae708f:	0f 84 0f 01 00 00    	je     0xae71a4
ae7095:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
ae709b:	eb 1e                	jmp    0xae70bb
ae709d:	3b d1                	cmp    %ecx,%edx
ae709f:	1b c0                	sbb    %eax,%eax