5e0e45:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
5e0e48:	73 05                	jae    0x5e0e4f
5e0e4a:	33 c0                	xor    %eax,%eax
5e0e4c:	40                   	inc    %eax
5e0e4d:	eb 02                	jmp    0x5e0e51
5e0e4f:	33 c0                	xor    %eax,%eax
5e0e51:	8b 7d f4             	mov    -0xc(%ebp),%edi
5e0e54:	0b c2                	or     %edx,%eax
5e0e56:	c1 e0 02             	shl    $0x2,%eax
5e0e59:	83 c8 08             	or     $0x8,%eax
5e0e5c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5e0e5f:	09 45 fc             	or     %eax,-0x4(%ebp)
5e0e62:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0e65:	8a 18                	mov    (%eax),%bl
5e0e67:	40                   	inc    %eax
5e0e68:	88 5d f8             	mov    %bl,-0x8(%ebp)
5e0e6b:	89 45 0c             	mov    %eax,0xc(%ebp)
5e0e6e:	e9 5b ff ff ff       	jmp    0x5e0dce
5e0e73:	ff 75 f8             	push   -0x8(%ebp)
5e0e76:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5e0e79:	e8 a9 98 ff ff       	call   0x5da727
5e0e7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e0e81:	a8 08                	test   $0x8,%al
5e0e83:	75 12                	jne    0x5e0e97
5e0e85:	8b 45 10             	mov    0x10(%ebp),%eax
5e0e88:	85 c0                	test   %eax,%eax
5e0e8a:	74 05                	je     0x5e0e91
5e0e8c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5e0e8f:	89 08                	mov    %ecx,(%eax)
5e0e91:	33 c0                	xor    %eax,%eax
5e0e93:	33 d2                	xor    %edx,%edx
5e0e95:	eb 78                	jmp    0x5e0f0f
5e0e97:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5e0e9a:	57                   	push   %edi
5e0e9b:	53                   	push   %ebx
5e0e9c:	50                   	push   %eax
5e0e9d:	e8 fd a1 ff ff       	call   0x5db09f
5e0ea2:	83 c4 0c             	add    $0xc,%esp
5e0ea5:	84 c0                	test   %al,%al
5e0ea7:	74 49                	je     0x5e0ef2
5e0ea9:	8b 45 08             	mov    0x8(%ebp),%eax
5e0eac:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e0eb0:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
5e0eb7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e0eba:	a8 01                	test   $0x1,%al
5e0ebc:	75 08                	jne    0x5e0ec6
5e0ebe:	83 cb ff             	or     $0xffffffff,%ebx
5e0ec1:	83 cf ff             	or     $0xffffffff,%edi
5e0ec4:	eb 39                	jmp    0x5e0eff
5e0ec6:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e0ec9:	a8 02                	test   $0x2,%al
5e0ecb:	74 12                	je     0x5e0edf
5e0ecd:	85 c9                	test   %ecx,%ecx
5e0ecf:	74 05                	je     0x5e0ed6
5e0ed1:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0ed4:	89 01                	mov    %eax,(%ecx)
5e0ed6:	33 c0                	xor    %eax,%eax
5e0ed8:	ba 00 00 00 80       	mov    $0x80000000,%edx
5e0edd:	eb 30                	jmp    0x5e0f0f
5e0edf:	85 c9                	test   %ecx,%ecx
5e0ee1:	74 05                	je     0x5e0ee8
5e0ee3:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0ee6:	89 01                	mov    %eax,(%ecx)
5e0ee8:	83 c8 ff             	or     $0xffffffff,%eax
5e0eeb:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
5e0ef0:	eb 1d                	jmp    0x5e0f0f
5e0ef2:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
5e0ef6:	74 07                	je     0x5e0eff
5e0ef8:	f7 db                	neg    %ebx
5e0efa:	83 d7 00             	adc    $0x0,%edi
5e0efd:	f7 df                	neg    %edi
5e0eff:	8b 75 10             	mov    0x10(%ebp),%esi
5e0f02:	85 f6                	test   %esi,%esi
5e0f04:	74 05                	je     0x5e0f0b
5e0f06:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e0f09:	89 0e                	mov    %ecx,(%esi)
5e0f0b:	8b c3                	mov    %ebx,%eax
5e0f0d:	8b d7                	mov    %edi,%edx
5e0f0f:	5f                   	pop    %edi
5e0f10:	5e                   	pop    %esi
5e0f11:	5b                   	pop    %ebx
5e0f12:	c9                   	leave
5e0f13:	c3                   	ret
5e0f14:	8b ff                	mov    %edi,%edi
5e0f16:	55                   	push   %ebp
5e0f17:	8b ec                	mov    %esp,%ebp
5e0f19:	83 ec 2c             	sub    $0x2c,%esp
5e0f1c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e0f1f:	56                   	push   %esi
5e0f20:	6a 00                	push   $0x0
5e0f22:	e8 ad 4f ff ff       	call   0x5d5ed4
5e0f27:	6a 01                	push   $0x1
5e0f29:	ff 75 10             	push   0x10(%ebp)
5e0f2c:	51                   	push   %ecx
5e0f2d:	51                   	push   %ecx
5e0f2e:	8b c4                	mov    %esp,%eax
5e0f30:	ff 75 0c             	push   0xc(%ebp)
5e0f33:	ff 75 08             	push   0x8(%ebp)
5e0f36:	50                   	push   %eax
5e0f37:	e8 da 5d ff ff       	call   0x5d6d16
5e0f3c:	83 c4 0c             	add    $0xc,%esp
5e0f3f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5e0f42:	50                   	push   %eax
5e0f43:	e8 af f4 ff ff       	call   0x5e03f7
5e0f48:	83 c4 14             	add    $0x14,%esp
5e0f4b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e0f4e:	8b f0                	mov    %eax,%esi
5e0f50:	e8 c7 4f ff ff       	call   0x5d5f1c
5e0f55:	8b c6                	mov    %esi,%eax
5e0f57:	5e                   	pop    %esi
5e0f58:	c9                   	leave
5e0f59:	c3                   	ret
5e0f5a:	8b ff                	mov    %edi,%edi
5e0f5c:	55                   	push   %ebp
5e0f5d:	8b ec                	mov    %esp,%ebp
5e0f5f:	83 ec 2c             	sub    $0x2c,%esp
5e0f62:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e0f65:	56                   	push   %esi
5e0f66:	57                   	push   %edi
5e0f67:	6a 00                	push   $0x0
5e0f69:	e8 66 4f ff ff       	call   0x5d5ed4
5e0f6e:	6a 01                	push   $0x1
5e0f70:	ff 75 10             	push   0x10(%ebp)
5e0f73:	51                   	push   %ecx
5e0f74:	51                   	push   %ecx
5e0f75:	8b c4                	mov    %esp,%eax
5e0f77:	ff 75 0c             	push   0xc(%ebp)
5e0f7a:	ff 75 08             	push   0x8(%ebp)
5e0f7d:	50                   	push   %eax
5e0f7e:	e8 93 5d ff ff       	call   0x5d6d16
5e0f83:	83 c4 0c             	add    $0xc,%esp
5e0f86:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5e0f89:	50                   	push   %eax
5e0f8a:	e8 bd fc ff ff       	call   0x5e0c4c
5e0f8f:	83 c4 14             	add    $0x14,%esp
5e0f92:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e0f95:	8b f0                	mov    %eax,%esi
5e0f97:	8b fa                	mov    %edx,%edi
5e0f99:	e8 7e 4f ff ff       	call   0x5d5f1c
5e0f9e:	8b d7                	mov    %edi,%edx
5e0fa0:	8b c6                	mov    %esi,%eax
5e0fa2:	5f                   	pop    %edi
5e0fa3:	5e                   	pop    %esi
5e0fa4:	c9                   	leave
5e0fa5:	c3                   	ret
5e0fa6:	8b ff                	mov    %edi,%edi
5e0fa8:	55                   	push   %ebp
5e0fa9:	8b ec                	mov    %esp,%ebp
5e0fab:	83 ec 2c             	sub    $0x2c,%esp
5e0fae:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e0fb1:	56                   	push   %esi
5e0fb2:	6a 00                	push   $0x0
5e0fb4:	e8 1b 4f ff ff       	call   0x5d5ed4
5e0fb9:	6a 00                	push   $0x0
5e0fbb:	ff 75 10             	push   0x10(%ebp)
5e0fbe:	51                   	push   %ecx
5e0fbf:	51                   	push   %ecx
5e0fc0:	8b c4                	mov    %esp,%eax
5e0fc2:	ff 75 0c             	push   0xc(%ebp)
5e0fc5:	ff 75 08             	push   0x8(%ebp)
5e0fc8:	50                   	push   %eax
5e0fc9:	e8 48 5d ff ff       	call   0x5d6d16
5e0fce:	83 c4 0c             	add    $0xc,%esp
5e0fd1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5e0fd4:	50                   	push   %eax
5e0fd5:	e8 1d f4 ff ff       	call   0x5e03f7
5e0fda:	83 c4 14             	add    $0x14,%esp
5e0fdd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e0fe0:	8b f0                	mov    %eax,%esi
5e0fe2:	e8 35 4f ff ff       	call   0x5d5f1c
5e0fe7:	8b c6                	mov    %esi,%eax
5e0fe9:	5e                   	pop    %esi
5e0fea:	c9                   	leave
5e0feb:	c3                   	ret
5e0fec:	8b ff                	mov    %edi,%edi
5e0fee:	55                   	push   %ebp
5e0fef:	8b ec                	mov    %esp,%ebp
5e0ff1:	83 ec 2c             	sub    $0x2c,%esp
5e0ff4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e0ff7:	56                   	push   %esi
5e0ff8:	57                   	push   %edi
5e0ff9:	6a 00                	push   $0x0
5e0ffb:	e8 d4 4e ff ff       	call   0x5d5ed4
5e1000:	6a 00                	push   $0x0
5e1002:	ff 75 10             	push   0x10(%ebp)
5e1005:	51                   	push   %ecx
5e1006:	51                   	push   %ecx
5e1007:	8b c4                	mov    %esp,%eax
5e1009:	ff 75 0c             	push   0xc(%ebp)
5e100c:	ff 75 08             	push   0x8(%ebp)
5e100f:	50                   	push   %eax
5e1010:	e8 01 5d ff ff       	call   0x5d6d16
5e1015:	83 c4 0c             	add    $0xc,%esp
5e1018:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5e101b:	50                   	push   %eax
5e101c:	e8 2b fc ff ff       	call   0x5e0c4c
5e1021:	83 c4 14             	add    $0x14,%esp
5e1024:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e1027:	8b f0                	mov    %eax,%esi
5e1029:	8b fa                	mov    %edx,%edi
5e102b:	e8 ec 4e ff ff       	call   0x5d5f1c
5e1030:	8b d7                	mov    %edi,%edx
5e1032:	8b c6                	mov    %esi,%eax
5e1034:	5f                   	pop    %edi
5e1035:	5e                   	pop    %esi
5e1036:	c9                   	leave
5e1037:	c3                   	ret
5e1038:	8b ff                	mov    %edi,%edi
5e103a:	55                   	push   %ebp
5e103b:	8b ec                	mov    %esp,%ebp
5e103d:	83 ec 2c             	sub    $0x2c,%esp
5e1040:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e1043:	56                   	push   %esi
5e1044:	6a 00                	push   $0x0
5e1046:	e8 89 4e ff ff       	call   0x5d5ed4
5e104b:	6a 01                	push   $0x1
5e104d:	ff 75 10             	push   0x10(%ebp)
5e1050:	51                   	push   %ecx
5e1051:	51                   	push   %ecx
5e1052:	8b c4                	mov    %esp,%eax
5e1054:	ff 75 0c             	push   0xc(%ebp)
5e1057:	ff 75 08             	push   0x8(%ebp)
5e105a:	50                   	push   %eax
5e105b:	e8 b6 5c ff ff       	call   0x5d6d16
5e1060:	83 c4 0c             	add    $0xc,%esp
5e1063:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5e1066:	50                   	push   %eax
5e1067:	e8 d2 f5 ff ff       	call   0x5e063e
5e106c:	83 c4 14             	add    $0x14,%esp
5e106f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5e1072:	8b f0                	mov    %eax,%esi
5e1074:	e8 a3 4e ff ff       	call   0x5d5f1c
5e1079:	8b c6                	mov    %esi,%eax
5e107b:	5e                   	pop    %esi
5e107c:	c9                   	leave
5e107d:	c3                   	ret
5e107e:	8b ff                	mov    %edi,%edi
5e1080:	55                   	push   %ebp
5e1081:	8b ec                	mov    %esp,%ebp
5e1083:	83 ec 1c             	sub    $0x1c,%esp
5e1086:	56                   	push   %esi
5e1087:	8b 75 08             	mov    0x8(%ebp),%esi
5e108a:	57                   	push   %edi
5e108b:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e108e:	85 ff                	test   %edi,%edi
5e1090:	74 02                	je     0x5e1094
5e1092:	89 37                	mov    %esi,(%edi)
5e1094:	85 f6                	test   %esi,%esi
5e1096:	75 14                	jne    0x5e10ac
5e1098:	e8 eb 9b ff ff       	call   0x5dac88
5e109d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e10a3:	e8 38 51 ff ff       	call   0x5d61e0
5e10a8:	d9 ee                	fldz
5e10aa:	eb 57                	jmp    0x5e1103
5e10ac:	ff 75 10             	push   0x10(%ebp)
5e10af:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5e10b2:	e8 1e 9c ff ff       	call   0x5dacd5
5e10b7:	d9 ee                	fldz
5e10b9:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e10bc:	50                   	push   %eax
5e10bd:	51                   	push   %ecx
5e10be:	51                   	push   %ecx
5e10bf:	8b c4                	mov    %esp,%eax
5e10c1:	57                   	push   %edi
5e10c2:	56                   	push   %esi
5e10c3:	50                   	push   %eax
5e10c4:	dd 5d f4             	fstpl  -0xc(%ebp)
5e10c7:	e8 4a 5c ff ff       	call   0x5d6d16
5e10cc:	83 c4 0c             	add    $0xc,%esp
5e10cf:	8d 45 e8             	lea    -0x18(%ebp),%eax
5e10d2:	50                   	push   %eax
5e10d3:	e8 2f 00 00 00       	call   0x5e1107
5e10d8:	83 c4 10             	add    $0x10,%esp
5e10db:	83 f8 03             	cmp    $0x3,%eax
5e10de:	74 05                	je     0x5e10e5
5e10e0:	83 f8 02             	cmp    $0x2,%eax
5e10e3:	75 0b                	jne    0x5e10f0
5e10e5:	e8 9e 9b ff ff       	call   0x5dac88
5e10ea:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5e10f0:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
5e10f4:	dd 45 f4             	fldl   -0xc(%ebp)
5e10f7:	74 0a                	je     0x5e1103
5e10f9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5e10fc:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
5e1103:	5f                   	pop    %edi
5e1104:	5e                   	pop    %esi
5e1105:	c9                   	leave
5e1106:	c3                   	ret
5e1107:	8b ff                	mov    %edi,%edi
5e1109:	55                   	push   %ebp
5e110a:	8b ec                	mov    %esp,%ebp
5e110c:	81 ec 10 03 00 00    	sub    $0x310,%esp
5e1112:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5e1117:	33 c5                	xor    %ebp,%eax
5e1119:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e111c:	8b 45 08             	mov    0x8(%ebp),%eax
5e111f:	56                   	push   %esi
5e1120:	8b 75 14             	mov    0x14(%ebp),%esi
5e1123:	85 f6                	test   %esi,%esi
5e1125:	74 04                	je     0x5e112b
5e1127:	85 c0                	test   %eax,%eax
5e1129:	75 21                	jne    0x5e114c
5e112b:	e8 58 9b ff ff       	call   0x5dac88
5e1130:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e1136:	e8 a5 50 ff ff       	call   0x5d61e0
5e113b:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e113e:	85 c9                	test   %ecx,%ecx
5e1140:	74 05                	je     0x5e1147
5e1142:	8b 45 0c             	mov    0xc(%ebp),%eax
5e1145:	89 01                	mov    %eax,(%ecx)
5e1147:	33 c0                	xor    %eax,%eax
5e1149:	40                   	inc    %eax
5e114a:	eb 2e                	jmp    0x5e117a
5e114c:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5e1152:	51                   	push   %ecx
5e1153:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5e1156:	51                   	push   %ecx
5e1157:	50                   	push   %eax
5e1158:	e8 2a 00 00 00       	call   0x5e1187
5e115d:	56                   	push   %esi
5e115e:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5e1164:	51                   	push   %ecx
5e1165:	50                   	push   %eax
5e1166:	e8 b0 a8 ff ff       	call   0x5dba1b
5e116b:	8b 55 10             	mov    0x10(%ebp),%edx
5e116e:	83 c4 18             	add    $0x18,%esp
5e1171:	85 d2                	test   %edx,%edx
5e1173:	74 05                	je     0x5e117a
5e1175:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e1178:	89 0a                	mov    %ecx,(%edx)
5e117a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e117d:	33 cd                	xor    %ebp,%ecx
5e117f:	5e                   	pop    %esi
5e1180:	e8 a1 08 ff ff       	call   0x5d1a26
5e1185:	c9                   	leave
5e1186:	c3                   	ret
5e1187:	8b ff                	mov    %edi,%edi
5e1189:	55                   	push   %ebp
5e118a:	8b ec                	mov    %esp,%ebp
5e118c:	83 ec 28             	sub    $0x28,%esp
5e118f:	53                   	push   %ebx
5e1190:	56                   	push   %esi
5e1191:	8b 75 0c             	mov    0xc(%ebp),%esi
5e1194:	8b ce                	mov    %esi,%ecx
5e1196:	57                   	push   %edi
5e1197:	e8 3f 96 ff ff       	call   0x5da7db
5e119c:	84 c0                	test   %al,%al
5e119e:	0f 84 16 02 00 00    	je     0x5e13ba
5e11a4:	8b 06                	mov    (%esi),%eax
5e11a6:	8b 7d 08             	mov    0x8(%ebp),%edi