5fcecf:	3c 05                	cmp    $0x5,%al
5fced1:	0f 85 dc 02 00 00    	jne    0x5fd1b3
5fced7:	33 c0                	xor    %eax,%eax
5fced9:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5fcedc:	33 c0                	xor    %eax,%eax
5fcede:	89 45 a0             	mov    %eax,-0x60(%ebp)
5fcee1:	3b 5d 24             	cmp    0x24(%ebp),%ebx
5fcee4:	0f 8f d4 00 00 00    	jg     0x5fcfbe
5fceea:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fceed:	8b 10                	mov    (%eax),%edx
5fceef:	ff 52 10             	call   *0x10(%edx)
5fcef2:	3c 01                	cmp    $0x1,%al
5fcef4:	0f 85 c4 00 00 00    	jne    0x5fcfbe
5fcefa:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
5fcefe:	74 10                	je     0x5fcf10
5fcf00:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fcf03:	e8 00 aa ff ff       	call   0x5f7908
5fcf08:	84 c0                	test   %al,%al
5fcf0a:	0f 85 ae 00 00 00    	jne    0x5fcfbe
5fcf10:	80 7d 10 0c          	cmpb   $0xc,0x10(%ebp)
5fcf14:	0f 84 a4 00 00 00    	je     0x5fcfbe
5fcf1a:	80 7d 10 0d          	cmpb   $0xd,0x10(%ebp)
5fcf1e:	0f 84 9a 00 00 00    	je     0x5fcfbe
5fcf24:	85 db                	test   %ebx,%ebx
5fcf26:	0f 8e 7d 02 00 00    	jle    0x5fd1a9
5fcf2c:	85 f6                	test   %esi,%esi
5fcf2e:	0f 8e 75 02 00 00    	jle    0x5fd1a9
5fcf34:	b2 01                	mov    $0x1,%dl
5fcf36:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5fcf3b:	e8 64 a6 ff ff       	call   0x5f75a4
5fcf40:	89 45 ac             	mov    %eax,-0x54(%ebp)
5fcf43:	6a 05                	push   $0x5
5fcf45:	8b ce                	mov    %esi,%ecx
5fcf47:	8b d3                	mov    %ebx,%edx
5fcf49:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fcf4c:	8b 38                	mov    (%eax),%edi
5fcf4e:	ff 57 24             	call   *0x24(%edi)
5fcf51:	8b 45 2c             	mov    0x2c(%ebp),%eax
5fcf54:	03 45 24             	add    0x24(%ebp),%eax
5fcf57:	48                   	dec    %eax
5fcf58:	50                   	push   %eax
5fcf59:	8b 45 28             	mov    0x28(%ebp),%eax
5fcf5c:	03 45 20             	add    0x20(%ebp),%eax
5fcf5f:	48                   	dec    %eax
5fcf60:	50                   	push   %eax
5fcf61:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fcf64:	50                   	push   %eax
5fcf65:	8b 4d 28             	mov    0x28(%ebp),%ecx
5fcf68:	8b 55 2c             	mov    0x2c(%ebp),%edx
5fcf6b:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fcf6e:	e8 79 bd fb ff       	call   0x5b8cec
5fcf73:	8d 45 a4             	lea    -0x5c(%ebp),%eax
5fcf76:	50                   	push   %eax
5fcf77:	8d 45 a0             	lea    -0x60(%ebp),%eax
5fcf7a:	50                   	push   %eax
5fcf7b:	8b 45 40             	mov    0x40(%ebp),%eax
5fcf7e:	50                   	push   %eax
5fcf7f:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fcf82:	50                   	push   %eax
5fcf83:	8b 45 38             	mov    0x38(%ebp),%eax
5fcf86:	50                   	push   %eax
5fcf87:	53                   	push   %ebx
5fcf88:	56                   	push   %esi
5fcf89:	6a 00                	push   $0x0
5fcf8b:	6a 00                	push   $0x0
5fcf8d:	53                   	push   %ebx
5fcf8e:	56                   	push   %esi
5fcf8f:	8a 45 1c             	mov    0x1c(%ebp),%al
5fcf92:	50                   	push   %eax
5fcf93:	8a 45 18             	mov    0x18(%ebp),%al
5fcf96:	50                   	push   %eax
5fcf97:	8b 45 14             	mov    0x14(%ebp),%eax
5fcf9a:	50                   	push   %eax
5fcf9b:	6a 00                	push   $0x0
5fcf9d:	6a 01                	push   $0x1
5fcf9f:	8a 45 08             	mov    0x8(%ebp),%al
5fcfa2:	50                   	push   %eax
5fcfa3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fcfa6:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fcfa9:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fcfac:	e8 87 fc ff ff       	call   0x5fcc38
5fcfb1:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fcfb4:	e8 bf 6a e0 ff       	call   0x403a78
5fcfb9:	e9 eb 01 00 00       	jmp    0x5fd1a9
5fcfbe:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fcfc1:	8b 10                	mov    (%eax),%edx
5fcfc3:	ff 52 10             	call   *0x10(%edx)
5fcfc6:	3c 05                	cmp    $0x5,%al
5fcfc8:	74 10                	je     0x5fcfda
5fcfca:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fcfcd:	8b 10                	mov    (%eax),%edx
5fcfcf:	ff 52 10             	call   *0x10(%edx)
5fcfd2:	3c 01                	cmp    $0x1,%al
5fcfd4:	0f 85 cf 01 00 00    	jne    0x5fd1a9
5fcfda:	b2 01                	mov    $0x1,%dl
5fcfdc:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5fcfe1:	e8 be a5 ff ff       	call   0x5f75a4
5fcfe6:	89 45 ac             	mov    %eax,-0x54(%ebp)
5fcfe9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fcfec:	8b 10                	mov    (%eax),%edx
5fcfee:	ff 52 10             	call   *0x10(%edx)
5fcff1:	50                   	push   %eax
5fcff2:	8b 4d 20             	mov    0x20(%ebp),%ecx
5fcff5:	8b 55 24             	mov    0x24(%ebp),%edx
5fcff8:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fcffb:	8b 38                	mov    (%eax),%edi
5fcffd:	ff 57 24             	call   *0x24(%edi)
5fd000:	8b 45 28             	mov    0x28(%ebp),%eax
5fd003:	50                   	push   %eax
5fd004:	6a 00                	push   $0x0
5fd006:	6a 00                	push   $0x0
5fd008:	8b 45 24             	mov    0x24(%ebp),%eax
5fd00b:	50                   	push   %eax
5fd00c:	8b 45 20             	mov    0x20(%ebp),%eax
5fd00f:	50                   	push   %eax
5fd010:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
5fd013:	8b 55 ac             	mov    -0x54(%ebp),%edx
5fd016:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd019:	e8 0a db ff ff       	call   0x5fab28
5fd01e:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
5fd022:	74 4e                	je     0x5fd072
5fd024:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd027:	e8 dc a8 ff ff       	call   0x5f7908
5fd02c:	84 c0                	test   %al,%al
5fd02e:	74 42                	je     0x5fd072
5fd030:	8b 45 28             	mov    0x28(%ebp),%eax
5fd033:	50                   	push   %eax
5fd034:	6a 00                	push   $0x0
5fd036:	6a 00                	push   $0x0
5fd038:	8b 45 24             	mov    0x24(%ebp),%eax
5fd03b:	50                   	push   %eax
5fd03c:	8b 45 20             	mov    0x20(%ebp),%eax
5fd03f:	50                   	push   %eax
5fd040:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fd043:	e8 90 a8 ff ff       	call   0x5f78d8
5fd048:	50                   	push   %eax
5fd049:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd04c:	e8 87 a8 ff ff       	call   0x5f78d8
5fd051:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
5fd054:	5a                   	pop    %edx
5fd055:	e8 ce da ff ff       	call   0x5fab28
5fd05a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd05d:	e8 76 a8 ff ff       	call   0x5f78d8
5fd062:	8a 40 43             	mov    0x43(%eax),%al
5fd065:	50                   	push   %eax
5fd066:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fd069:	e8 6a a8 ff ff       	call   0x5f78d8
5fd06e:	5a                   	pop    %edx
5fd06f:	88 50 43             	mov    %dl,0x43(%eax)
5fd072:	b2 01                	mov    $0x1,%dl
5fd074:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5fd079:	e8 26 a5 ff ff       	call   0x5f75a4
5fd07e:	89 45 a8             	mov    %eax,-0x58(%ebp)
5fd081:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd084:	8b 10                	mov    (%eax),%edx
5fd086:	ff 52 10             	call   *0x10(%edx)
5fd089:	3c 01                	cmp    $0x1,%al
5fd08b:	75 3a                	jne    0x5fd0c7
5fd08d:	80 7d 10 0c          	cmpb   $0xc,0x10(%ebp)
5fd091:	74 06                	je     0x5fd099
5fd093:	80 7d 10 0d          	cmpb   $0xd,0x10(%ebp)
5fd097:	75 10                	jne    0x5fd0a9
5fd099:	6a 01                	push   $0x1
5fd09b:	8b ce                	mov    %esi,%ecx
5fd09d:	8b d3                	mov    %ebx,%edx
5fd09f:	8b 45 a8             	mov    -0x58(%ebp),%eax
5fd0a2:	8b 38                	mov    (%eax),%edi
5fd0a4:	ff 57 24             	call   *0x24(%edi)
5fd0a7:	eb 0e                	jmp    0x5fd0b7
5fd0a9:	6a 05                	push   $0x5
5fd0ab:	8b ce                	mov    %esi,%ecx
5fd0ad:	8b d3                	mov    %ebx,%edx
5fd0af:	8b 45 a8             	mov    -0x58(%ebp),%eax
5fd0b2:	8b 38                	mov    (%eax),%edi
5fd0b4:	ff 57 24             	call   *0x24(%edi)
5fd0b7:	8a 4d 10             	mov    0x10(%ebp),%cl
5fd0ba:	8b 55 a8             	mov    -0x58(%ebp),%edx
5fd0bd:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fd0c0:	e8 eb 8e fb ff       	call   0x5b5fb0
5fd0c5:	eb 22                	jmp    0x5fd0e9
5fd0c7:	6a 05                	push   $0x5
5fd0c9:	8b ce                	mov    %esi,%ecx
5fd0cb:	8b d3                	mov    %ebx,%edx
5fd0cd:	8b 45 a8             	mov    -0x58(%ebp),%eax
5fd0d0:	8b 38                	mov    (%eax),%edi
5fd0d2:	ff 57 24             	call   *0x24(%edi)
5fd0d5:	6a 00                	push   $0x0
5fd0d7:	6a 00                	push   $0x0
5fd0d9:	6a 00                	push   $0x0
5fd0db:	8a 4d 10             	mov    0x10(%ebp),%cl
5fd0de:	8b 55 a8             	mov    -0x58(%ebp),%edx
5fd0e1:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fd0e4:	e8 6f 98 fb ff       	call   0x5b6958
5fd0e9:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
5fd0ed:	74 3e                	je     0x5fd12d
5fd0ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd0f2:	e8 11 a8 ff ff       	call   0x5f7908
5fd0f7:	84 c0                	test   %al,%al
5fd0f9:	74 32                	je     0x5fd12d
5fd0fb:	8b 45 a8             	mov    -0x58(%ebp),%eax
5fd0fe:	e8 d5 a7 ff ff       	call   0x5f78d8
5fd103:	50                   	push   %eax
5fd104:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fd107:	e8 cc a7 ff ff       	call   0x5f78d8
5fd10c:	8a 4d 10             	mov    0x10(%ebp),%cl
5fd10f:	5a                   	pop    %edx
5fd110:	e8 3f 85 fb ff       	call   0x5b5654
5fd115:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fd118:	e8 bb a7 ff ff       	call   0x5f78d8
5fd11d:	8a 40 43             	mov    0x43(%eax),%al
5fd120:	50                   	push   %eax
5fd121:	8b 45 a8             	mov    -0x58(%ebp),%eax
5fd124:	e8 af a7 ff ff       	call   0x5f78d8
5fd129:	5a                   	pop    %edx
5fd12a:	88 50 43             	mov    %dl,0x43(%eax)
5fd12d:	33 c0                	xor    %eax,%eax
5fd12f:	8b 55 fc             	mov    -0x4(%ebp),%edx
5fd132:	8b 54 82 68          	mov    0x68(%edx,%eax,4),%edx
5fd136:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5fd139:	89 54 81 68          	mov    %edx,0x68(%ecx,%eax,4)
5fd13d:	40                   	inc    %eax
5fd13e:	83 f8 04             	cmp    $0x4,%eax
5fd141:	75 ec                	jne    0x5fd12f
5fd143:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd146:	8a 40 78             	mov    0x78(%eax),%al
5fd149:	8b 55 a8             	mov    -0x58(%ebp),%edx
5fd14c:	88 42 78             	mov    %al,0x78(%edx)
5fd14f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd152:	8b 40 7c             	mov    0x7c(%eax),%eax
5fd155:	8b 55 a8             	mov    -0x58(%ebp),%edx
5fd158:	89 42 7c             	mov    %eax,0x7c(%edx)
5fd15b:	8d 45 a4             	lea    -0x5c(%ebp),%eax
5fd15e:	50                   	push   %eax
5fd15f:	8d 45 a0             	lea    -0x60(%ebp),%eax
5fd162:	50                   	push   %eax
5fd163:	8b 45 40             	mov    0x40(%ebp),%eax
5fd166:	50                   	push   %eax
5fd167:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fd16a:	50                   	push   %eax
5fd16b:	8b 45 38             	mov    0x38(%ebp),%eax
5fd16e:	50                   	push   %eax
5fd16f:	53                   	push   %ebx
5fd170:	56                   	push   %esi
5fd171:	6a 00                	push   $0x0
5fd173:	6a 00                	push   $0x0
5fd175:	53                   	push   %ebx
5fd176:	56                   	push   %esi
5fd177:	8a 45 1c             	mov    0x1c(%ebp),%al
5fd17a:	50                   	push   %eax
5fd17b:	8a 45 18             	mov    0x18(%ebp),%al
5fd17e:	50                   	push   %eax
5fd17f:	8b 45 14             	mov    0x14(%ebp),%eax
5fd182:	50                   	push   %eax
5fd183:	6a 00                	push   $0x0
5fd185:	6a 01                	push   $0x1
5fd187:	8a 45 08             	mov    0x8(%ebp),%al
5fd18a:	50                   	push   %eax
5fd18b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fd18e:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fd191:	8b 45 a8             	mov    -0x58(%ebp),%eax
5fd194:	e8 9f fa ff ff       	call   0x5fcc38
5fd199:	8b 45 a8             	mov    -0x58(%ebp),%eax
5fd19c:	e8 d7 68 e0 ff       	call   0x403a78
5fd1a1:	8b 45 ac             	mov    -0x54(%ebp),%eax
5fd1a4:	e8 cf 68 e0 ff       	call   0x403a78
5fd1a9:	e8 42 71 e0 ff       	call   0x4042f0
5fd1ae:	e9 a5 09 00 00       	jmp    0x5fdb58
5fd1b3:	85 db                	test   %ebx,%ebx
5fd1b5:	74 10                	je     0x5fd1c7
5fd1b7:	85 f6                	test   %esi,%esi
5fd1b9:	74 0c                	je     0x5fd1c7
5fd1bb:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
5fd1bf:	74 06                	je     0x5fd1c7
5fd1c1:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
5fd1c5:	75 0a                	jne    0x5fd1d1
5fd1c7:	e8 24 71 e0 ff       	call   0x4042f0
5fd1cc:	e9 87 09 00 00       	jmp    0x5fdb58
5fd1d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fd1d4:	8b 10                	mov    (%eax),%edx
5fd1d6:	ff 52 0c             	call   *0xc(%edx)
5fd1d9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fd1dc:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fd1df:	8b 10                	mov    (%eax),%edx
5fd1e1:	ff 52 08             	call   *0x8(%edx)
5fd1e4:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fd1e7:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fd1ea:	83 38 00             	cmpl   $0x0,(%eax)
5fd1ed:	75 33                	jne    0x5fd222
5fd1ef:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fd1f2:	c1 e0 02             	shl    $0x2,%eax
5fd1f5:	e8 b2 55 e0 ff       	call   0x4027ac
5fd1fa:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fd1fd:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fd200:	48                   	dec    %eax
5fd201:	85 c0                	test   %eax,%eax
5fd203:	7c 25                	jl     0x5fd22a
5fd205:	40                   	inc    %eax
5fd206:	89 45 88             	mov    %eax,-0x78(%ebp)
5fd209:	33 ff                	xor    %edi,%edi
5fd20b:	8b d7                	mov    %edi,%edx
5fd20d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fd210:	8b 08                	mov    (%eax),%ecx
5fd212:	ff 11                	call   *(%ecx)
5fd214:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fd217:	89 04 ba             	mov    %eax,(%edx,%edi,4)
5fd21a:	47                   	inc    %edi
5fd21b:	ff 4d 88             	decl   -0x78(%ebp)
5fd21e:	75 eb                	jne    0x5fd20b
5fd220:	eb 08                	jmp    0x5fd22a
5fd222:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fd225:	8b 00                	mov    (%eax),%eax
5fd227:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fd22a:	85 db                	test   %ebx,%ebx
5fd22c:	0f 84 e8 08 00 00    	je     0x5fdb1a
5fd232:	85 f6                	test   %esi,%esi
5fd234:	0f 84 e0 08 00 00    	je     0x5fdb1a
5fd23a:	33 c0                	xor    %eax,%eax
5fd23c:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5fd23f:	81 7d 14 ff 00 00 00 	cmpl   $0xff,0x14(%ebp)
5fd246:	7d 2b                	jge    0x5fd273
5fd248:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
5fd24c:	75 10                	jne    0x5fd25e
5fd24e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd251:	8b 10                	mov    (%eax),%edx
5fd253:	ff 52 0c             	call   *0xc(%edx)
5fd256:	e8 51 55 e0 ff       	call   0x4027ac
5fd25b:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5fd25e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fd261:	8b 10                	mov    (%eax),%edx
5fd263:	ff 52 0c             	call   *0xc(%edx)
5fd266:	8b d0                	mov    %eax,%edx
5fd268:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5fd26b:	8b 4d 14             	mov    0x14(%ebp),%ecx
5fd26e:	e8 cd 5f e0 ff       	call   0x403240
5fd273:	33 c0                	xor    %eax,%eax
5fd275:	89 45 bc             	mov    %eax,-0x44(%ebp)
5fd278:	33 c0                	xor    %eax,%eax
5fd27a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5fd27d:	33 c0                	xor    %eax,%eax
5fd27f:	55                   	push   %ebp
5fd280:	68 b6 da 5f 00       	push   $0x5fdab6
5fd285:	64 ff 30             	push   %fs:(%eax)
5fd288:	64 89 20             	mov    %esp,%fs:(%eax)
5fd28b:	db 45 20             	fildl  0x20(%ebp)
5fd28e:	89 75 84             	mov    %esi,-0x7c(%ebp)
5fd291:	db 45 84             	fildl  -0x7c(%ebp)
5fd294:	de f9                	fdivrp %st,%st(1)
5fd296:	d8 0d 68 db 5f 00    	fmuls  0x5fdb68
5fd29c:	e8 2b 5a e0 ff       	call   0x402ccc
5fd2a1:	89 45 d0             	mov    %eax,-0x30(%ebp)