5fe079:	8b ec                	mov    %esp,%ebp
5fe07b:	83 c4 c8             	add    $0xffffffc8,%esp
5fe07e:	53                   	push   %ebx
5fe07f:	56                   	push   %esi
5fe080:	57                   	push   %edi
5fe081:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe084:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe087:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe08a:	dd 40 58             	fldl   0x58(%eax)
5fe08d:	e8 3a 4c e0 ff       	call   0x402ccc
5fe092:	89 45 e0             	mov    %eax,-0x20(%ebp)
5fe095:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe098:	dd 40 60             	fldl   0x60(%eax)
5fe09b:	e8 2c 4c e0 ff       	call   0x402ccc
5fe0a0:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe0a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe0a6:	dd 40 60             	fldl   0x60(%eax)
5fe0a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe0ac:	dc 60 58             	fsubl  0x58(%eax)
5fe0af:	dd 5d d0             	fstpl  -0x30(%ebp)
5fe0b2:	9b                   	fwait
5fe0b3:	8b 45 38             	mov    0x38(%ebp),%eax
5fe0b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe0b9:	8b 45 34             	mov    0x34(%ebp),%eax
5fe0bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe0bf:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe0c2:	8b 55 14             	mov    0x14(%ebp),%edx
5fe0c5:	2b d0                	sub    %eax,%edx
5fe0c7:	0f 8c cf 00 00 00    	jl     0x5fe19c
5fe0cd:	42                   	inc    %edx
5fe0ce:	89 55 cc             	mov    %edx,-0x34(%ebp)
5fe0d1:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe0d4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe0d7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe0da:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fe0dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe0e0:	8b 45 20             	mov    0x20(%ebp),%eax
5fe0e3:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe0e6:	01 45 e8             	add    %eax,-0x18(%ebp)
5fe0e9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe0ec:	8b 10                	mov    (%eax),%edx
5fe0ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe0f1:	8b 08                	mov    (%eax),%ecx
5fe0f3:	ff 11                	call   *(%ecx)
5fe0f5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe0f8:	8b 7d f0             	mov    -0x10(%ebp),%edi
5fe0fb:	dd 45 d0             	fldl   -0x30(%ebp)
5fe0fe:	d8 1d a8 e1 5f 00    	fcomps 0x5fe1a8
5fe104:	df e0                	fnstsw %ax
5fe106:	9e                   	sahf
5fe107:	75 31                	jne    0x5fe13a
5fe109:	8b 45 20             	mov    0x20(%ebp),%eax
5fe10c:	8b 75 18             	mov    0x18(%ebp),%esi
5fe10f:	2b f0                	sub    %eax,%esi
5fe111:	7c 79                	jl     0x5fe18c
5fe113:	46                   	inc    %esi
5fe114:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fe117:	8b 17                	mov    (%edi),%edx
5fe119:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5fe11c:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
5fe120:	c1 ea 08             	shr    $0x8,%edx
5fe123:	88 50 02             	mov    %dl,0x2(%eax)
5fe126:	88 50 01             	mov    %dl,0x1(%eax)
5fe129:	8a 50 02             	mov    0x2(%eax),%dl
5fe12c:	88 10                	mov    %dl,(%eax)
5fe12e:	83 45 e8 03          	addl   $0x3,-0x18(%ebp)
5fe132:	83 c7 04             	add    $0x4,%edi
5fe135:	4e                   	dec    %esi
5fe136:	75 dc                	jne    0x5fe114
5fe138:	eb 52                	jmp    0x5fe18c
5fe13a:	8b 45 20             	mov    0x20(%ebp),%eax
5fe13d:	8b 75 18             	mov    0x18(%ebp),%esi
5fe140:	2b f0                	sub    %eax,%esi
5fe142:	7c 48                	jl     0x5fe18c
5fe144:	46                   	inc    %esi
5fe145:	8b 07                	mov    (%edi),%eax
5fe147:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fe14a:	0f b7 1c 42          	movzwl (%edx,%eax,2),%ebx
5fe14e:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
5fe151:	7f 03                	jg     0x5fe156
5fe153:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5fe156:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
5fe159:	7c 03                	jl     0x5fe15e
5fe15b:	8b 5d dc             	mov    -0x24(%ebp),%ebx
5fe15e:	2b 5d e0             	sub    -0x20(%ebp),%ebx
5fe161:	89 5d c8             	mov    %ebx,-0x38(%ebp)
5fe164:	db 45 c8             	fildl  -0x38(%ebp)
5fe167:	dc 75 d0             	fdivl  -0x30(%ebp)
5fe16a:	d8 0d ac e1 5f 00    	fmuls  0x5fe1ac
5fe170:	e8 57 4b e0 ff       	call   0x402ccc
5fe175:	8b d8                	mov    %eax,%ebx
5fe177:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fe17a:	88 58 02             	mov    %bl,0x2(%eax)
5fe17d:	88 58 01             	mov    %bl,0x1(%eax)
5fe180:	88 18                	mov    %bl,(%eax)
5fe182:	83 45 e8 03          	addl   $0x3,-0x18(%ebp)
5fe186:	83 c7 04             	add    $0x4,%edi
5fe189:	4e                   	dec    %esi
5fe18a:	75 b9                	jne    0x5fe145
5fe18c:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe190:	ff 45 ec             	incl   -0x14(%ebp)
5fe193:	ff 4d cc             	decl   -0x34(%ebp)
5fe196:	0f 85 38 ff ff ff    	jne    0x5fe0d4
5fe19c:	5f                   	pop    %edi
5fe19d:	5e                   	pop    %esi
5fe19e:	5b                   	pop    %ebx
5fe19f:	8b e5                	mov    %ebp,%esp
5fe1a1:	5d                   	pop    %ebp
5fe1a2:	c2 34 00             	ret    $0x34
5fe1ad:	00 7f 43             	add    %bh,0x43(%edi)
5fe1b0:	55                   	push   %ebp
5fe1b1:	8b ec                	mov    %esp,%ebp
5fe1b3:	83 c4 ac             	add    $0xffffffac,%esp
5fe1b6:	53                   	push   %ebx
5fe1b7:	56                   	push   %esi
5fe1b8:	57                   	push   %edi
5fe1b9:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe1bc:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe1bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1c2:	dd 40 58             	fldl   0x58(%eax)
5fe1c5:	e8 02 4b e0 ff       	call   0x402ccc
5fe1ca:	89 45 c8             	mov    %eax,-0x38(%ebp)
5fe1cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1d0:	dd 40 60             	fldl   0x60(%eax)
5fe1d3:	e8 f4 4a e0 ff       	call   0x402ccc
5fe1d8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5fe1db:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1de:	dd 40 60             	fldl   0x60(%eax)
5fe1e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1e4:	dc 60 58             	fsubl  0x58(%eax)
5fe1e7:	dd 5d b8             	fstpl  -0x48(%ebp)
5fe1ea:	9b                   	fwait
5fe1eb:	8b 45 38             	mov    0x38(%ebp),%eax
5fe1ee:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe1f1:	8b 45 34             	mov    0x34(%ebp),%eax
5fe1f4:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe1f7:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe1fa:	8b 55 14             	mov    0x14(%ebp),%edx
5fe1fd:	2b d0                	sub    %eax,%edx
5fe1ff:	0f 8c 8b 01 00 00    	jl     0x5fe390
5fe205:	42                   	inc    %edx
5fe206:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5fe209:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe20c:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe20f:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe212:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fe215:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe218:	8b 45 20             	mov    0x20(%ebp),%eax
5fe21b:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe21e:	01 45 e4             	add    %eax,-0x1c(%ebp)
5fe221:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe224:	8b 10                	mov    (%eax),%edx
5fe226:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe229:	8b 08                	mov    (%eax),%ecx
5fe22b:	ff 11                	call   *(%ecx)
5fe22d:	89 45 d0             	mov    %eax,-0x30(%ebp)
5fe230:	80 7d 40 00          	cmpb   $0x0,0x40(%ebp)
5fe234:	74 16                	je     0x5fe24c
5fe236:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe239:	e8 9a 96 ff ff       	call   0x5f78d8
5fe23e:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fe241:	8b 12                	mov    (%edx),%edx
5fe243:	8b 08                	mov    (%eax),%ecx
5fe245:	ff 11                	call   *(%ecx)
5fe247:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe24a:	eb 06                	jmp    0x5fe252
5fe24c:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fe24f:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fe252:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5fe255:	dd 45 b8             	fldl   -0x48(%ebp)
5fe258:	d8 1d 9c e3 5f 00    	fcomps 0x5fe39c
5fe25e:	df e0                	fnstsw %ax
5fe260:	9e                   	sahf
5fe261:	75 7c                	jne    0x5fe2df
5fe263:	8b 45 20             	mov    0x20(%ebp),%eax
5fe266:	8b 55 18             	mov    0x18(%ebp),%edx
5fe269:	2b d0                	sub    %eax,%edx
5fe26b:	0f 8c 0f 01 00 00    	jl     0x5fe380
5fe271:	42                   	inc    %edx
5fe272:	89 55 b0             	mov    %edx,-0x50(%ebp)
5fe275:	8b 03                	mov    (%ebx),%eax
5fe277:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fe27a:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fe27e:	8b 45 44             	mov    0x44(%ebp),%eax
5fe281:	e8 96 b1 fa ff       	call   0x5a941c
5fe286:	8b f0                	mov    %eax,%esi
5fe288:	c1 e6 0a             	shl    $0xa,%esi
5fe28b:	8b 03                	mov    (%ebx),%eax
5fe28d:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fe290:	0f b7 3c 42          	movzwl (%edx,%eax,2),%edi
5fe294:	c1 ef 08             	shr    $0x8,%edi
5fe297:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fe29a:	33 d2                	xor    %edx,%edx
5fe29c:	8a 50 02             	mov    0x2(%eax),%dl
5fe29f:	8b cf                	mov    %edi,%ecx
5fe2a1:	2b ca                	sub    %edx,%ecx
5fe2a3:	0f af ce             	imul   %esi,%ecx
5fe2a6:	c1 e9 12             	shr    $0x12,%ecx
5fe2a9:	00 48 02             	add    %cl,0x2(%eax)
5fe2ac:	33 d2                	xor    %edx,%edx
5fe2ae:	8a 50 01             	mov    0x1(%eax),%dl
5fe2b1:	8b cf                	mov    %edi,%ecx
5fe2b3:	2b ca                	sub    %edx,%ecx
5fe2b5:	0f af ce             	imul   %esi,%ecx
5fe2b8:	c1 e9 12             	shr    $0x12,%ecx
5fe2bb:	00 48 01             	add    %cl,0x1(%eax)
5fe2be:	33 d2                	xor    %edx,%edx
5fe2c0:	8a 10                	mov    (%eax),%dl
5fe2c2:	8b cf                	mov    %edi,%ecx
5fe2c4:	2b ca                	sub    %edx,%ecx
5fe2c6:	0f af ce             	imul   %esi,%ecx
5fe2c9:	c1 e9 12             	shr    $0x12,%ecx
5fe2cc:	00 08                	add    %cl,(%eax)
5fe2ce:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fe2d2:	83 c3 04             	add    $0x4,%ebx
5fe2d5:	ff 4d b0             	decl   -0x50(%ebp)
5fe2d8:	75 9b                	jne    0x5fe275
5fe2da:	e9 a1 00 00 00       	jmp    0x5fe380
5fe2df:	8b 45 20             	mov    0x20(%ebp),%eax
5fe2e2:	8b 55 18             	mov    0x18(%ebp),%edx
5fe2e5:	2b d0                	sub    %eax,%edx
5fe2e7:	0f 8c 93 00 00 00    	jl     0x5fe380
5fe2ed:	42                   	inc    %edx
5fe2ee:	89 55 b0             	mov    %edx,-0x50(%ebp)
5fe2f1:	8b 03                	mov    (%ebx),%eax
5fe2f3:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fe2f6:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fe2fa:	8b 45 44             	mov    0x44(%ebp),%eax
5fe2fd:	e8 1a b1 fa ff       	call   0x5a941c
5fe302:	8b f0                	mov    %eax,%esi
5fe304:	c1 e6 0a             	shl    $0xa,%esi
5fe307:	8b 03                	mov    (%ebx),%eax
5fe309:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fe30c:	0f b7 3c 42          	movzwl (%edx,%eax,2),%edi
5fe310:	3b 7d c8             	cmp    -0x38(%ebp),%edi
5fe313:	7f 03                	jg     0x5fe318
5fe315:	8b 7d c8             	mov    -0x38(%ebp),%edi
5fe318:	3b 7d c4             	cmp    -0x3c(%ebp),%edi
5fe31b:	7c 03                	jl     0x5fe320
5fe31d:	8b 7d c4             	mov    -0x3c(%ebp),%edi
5fe320:	2b 7d c8             	sub    -0x38(%ebp),%edi
5fe323:	89 7d ac             	mov    %edi,-0x54(%ebp)
5fe326:	db 45 ac             	fildl  -0x54(%ebp)
5fe329:	dc 75 b8             	fdivl  -0x48(%ebp)
5fe32c:	d8 0d a0 e3 5f 00    	fmuls  0x5fe3a0
5fe332:	e8 95 49 e0 ff       	call   0x402ccc
5fe337:	8b f8                	mov    %eax,%edi
5fe339:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fe33c:	33 d2                	xor    %edx,%edx
5fe33e:	8a 50 02             	mov    0x2(%eax),%dl
5fe341:	8b cf                	mov    %edi,%ecx
5fe343:	2b ca                	sub    %edx,%ecx
5fe345:	0f af ce             	imul   %esi,%ecx
5fe348:	c1 e9 12             	shr    $0x12,%ecx
5fe34b:	00 48 02             	add    %cl,0x2(%eax)
5fe34e:	33 d2                	xor    %edx,%edx
5fe350:	8a 50 01             	mov    0x1(%eax),%dl
5fe353:	8b cf                	mov    %edi,%ecx
5fe355:	2b ca                	sub    %edx,%ecx
5fe357:	0f af ce             	imul   %esi,%ecx
5fe35a:	c1 e9 12             	shr    $0x12,%ecx
5fe35d:	00 48 01             	add    %cl,0x1(%eax)
5fe360:	33 d2                	xor    %edx,%edx
5fe362:	8a 10                	mov    (%eax),%dl
5fe364:	8b cf                	mov    %edi,%ecx
5fe366:	2b ca                	sub    %edx,%ecx
5fe368:	0f af ce             	imul   %esi,%ecx
5fe36b:	c1 e9 12             	shr    $0x12,%ecx
5fe36e:	00 08                	add    %cl,(%eax)
5fe370:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fe374:	83 c3 04             	add    $0x4,%ebx
5fe377:	ff 4d b0             	decl   -0x50(%ebp)
5fe37a:	0f 85 71 ff ff ff    	jne    0x5fe2f1
5fe380:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe384:	ff 45 ec             	incl   -0x14(%ebp)
5fe387:	ff 4d b4             	decl   -0x4c(%ebp)
5fe38a:	0f 85 7c fe ff ff    	jne    0x5fe20c
5fe390:	5f                   	pop    %edi
5fe391:	5e                   	pop    %esi
5fe392:	5b                   	pop    %ebx
5fe393:	8b e5                	mov    %ebp,%esp
5fe395:	5d                   	pop    %ebp
5fe396:	c2 40 00             	ret    $0x40
5fe3a1:	00 7f 43             	add    %bh,0x43(%edi)
5fe3a4:	55                   	push   %ebp
5fe3a5:	8b ec                	mov    %esp,%ebp
5fe3a7:	83 c4 d0             	add    $0xffffffd0,%esp
5fe3aa:	53                   	push   %ebx
5fe3ab:	56                   	push   %esi
5fe3ac:	57                   	push   %edi
5fe3ad:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe3b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe3b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe3b6:	dd 40 60             	fldl   0x60(%eax)
5fe3b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe3bc:	dc 60 58             	fsubl  0x58(%eax)
5fe3bf:	dd 5d d8             	fstpl  -0x28(%ebp)
5fe3c2:	9b                   	fwait
5fe3c3:	8b 45 38             	mov    0x38(%ebp),%eax
5fe3c6:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe3c9:	8b 45 34             	mov    0x34(%ebp),%eax
5fe3cc:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe3cf:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe3d2:	8b 55 14             	mov    0x14(%ebp),%edx
5fe3d5:	2b d0                	sub    %eax,%edx
5fe3d7:	0f 8c 00 01 00 00    	jl     0x5fe4dd
5fe3dd:	42                   	inc    %edx
5fe3de:	89 55 d0             	mov    %edx,-0x30(%ebp)
5fe3e1:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe3e4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe3e7:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fe3ea:	8b 3c 90             	mov    (%eax,%edx,4),%edi
5fe3ed:	8b 45 20             	mov    0x20(%ebp),%eax
5fe3f0:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fe3f3:	03 f8                	add    %eax,%edi
5fe3f5:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe3f8:	8b 10                	mov    (%eax),%edx
5fe3fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe3fd:	8b 08                	mov    (%eax),%ecx
5fe3ff:	ff 11                	call   *(%ecx)
5fe401:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe404:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fe407:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe40a:	dd 45 d8             	fldl   -0x28(%ebp)
5fe40d:	d8 1d e8 e4 5f 00    	fcomps 0x5fe4e8
5fe413:	df e0                	fnstsw %ax
5fe415:	9e                   	sahf
5fe416:	75 41                	jne    0x5fe459
5fe418:	8b 45 20             	mov    0x20(%ebp),%eax
5fe41b:	8b 75 18             	mov    0x18(%ebp),%esi
5fe41e:	2b f0                	sub    %eax,%esi
5fe420:	0f 8c a7 00 00 00    	jl     0x5fe4cd
5fe426:	46                   	inc    %esi
5fe427:	8b df                	mov    %edi,%ebx
5fe429:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe42c:	8b 00                	mov    (%eax),%eax
5fe42e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fe431:	d9 04 82             	flds   (%edx,%eax,4)
5fe434:	d8 0d ec e4 5f 00    	fmuls  0x5fe4ec
5fe43a:	e8 8d 48 e0 ff       	call   0x402ccc
5fe43f:	88 43 02             	mov    %al,0x2(%ebx)
5fe442:	8a 43 02             	mov    0x2(%ebx),%al
5fe445:	88 43 01             	mov    %al,0x1(%ebx)
5fe448:	8a 43 02             	mov    0x2(%ebx),%al
5fe44b:	88 03                	mov    %al,(%ebx)
5fe44d:	83 c7 03             	add    $0x3,%edi
5fe450:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
5fe454:	4e                   	dec    %esi
5fe455:	75 d0                	jne    0x5fe427
5fe457:	eb 74                	jmp    0x5fe4cd