5fff5e:	89 45 d0             	mov    %eax,-0x30(%ebp)
5fff61:	eb 06                	jmp    0x5fff69
5fff63:	8b 45 40             	mov    0x40(%ebp),%eax
5fff66:	89 45 d0             	mov    %eax,-0x30(%ebp)
5fff69:	8b 75 ec             	mov    -0x14(%ebp),%esi
5fff6c:	8b 45 24             	mov    0x24(%ebp),%eax
5fff6f:	8b 55 1c             	mov    0x1c(%ebp),%edx
5fff72:	2b d0                	sub    %eax,%edx
5fff74:	7c 7b                	jl     0x5ffff1
5fff76:	42                   	inc    %edx
5fff77:	89 55 bc             	mov    %edx,-0x44(%ebp)
5fff7a:	8b 45 d0             	mov    -0x30(%ebp),%eax
5fff7d:	8b 16                	mov    (%esi),%edx
5fff7f:	0f b6 14 10          	movzbl (%eax,%edx,1),%edx
5fff83:	8b 45 48             	mov    0x48(%ebp),%eax
5fff86:	e8 91 94 fa ff       	call   0x5a941c
5fff8b:	8b f8                	mov    %eax,%edi
5fff8d:	c1 e7 0a             	shl    $0xa,%edi
5fff90:	8b c3                	mov    %ebx,%eax
5fff92:	8b 16                	mov    (%esi),%edx
5fff94:	8d 14 52             	lea    (%edx,%edx,2),%edx
5fff97:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5fff9a:	0f b6 54 11 02       	movzbl 0x2(%ecx,%edx,1),%edx
5fff9f:	33 c9                	xor    %ecx,%ecx
5fffa1:	8a 48 02             	mov    0x2(%eax),%cl
5fffa4:	2b d1                	sub    %ecx,%edx
5fffa6:	0f af d7             	imul   %edi,%edx
5fffa9:	c1 ea 12             	shr    $0x12,%edx
5fffac:	00 50 02             	add    %dl,0x2(%eax)
5fffaf:	8b 16                	mov    (%esi),%edx
5fffb1:	8d 14 52             	lea    (%edx,%edx,2),%edx
5fffb4:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5fffb7:	0f b6 54 11 01       	movzbl 0x1(%ecx,%edx,1),%edx
5fffbc:	33 c9                	xor    %ecx,%ecx
5fffbe:	8a 48 01             	mov    0x1(%eax),%cl
5fffc1:	2b d1                	sub    %ecx,%edx
5fffc3:	0f af d7             	imul   %edi,%edx
5fffc6:	c1 ea 12             	shr    $0x12,%edx
5fffc9:	00 50 01             	add    %dl,0x1(%eax)
5fffcc:	8b 16                	mov    (%esi),%edx
5fffce:	8d 14 52             	lea    (%edx,%edx,2),%edx
5fffd1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5fffd4:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
5fffd8:	33 c9                	xor    %ecx,%ecx
5fffda:	8a 08                	mov    (%eax),%cl
5fffdc:	2b d1                	sub    %ecx,%edx
5fffde:	0f af d7             	imul   %edi,%edx
5fffe1:	c1 ea 12             	shr    $0x12,%edx
5fffe4:	00 10                	add    %dl,(%eax)
5fffe6:	83 c3 03             	add    $0x3,%ebx
5fffe9:	83 c6 04             	add    $0x4,%esi
5fffec:	ff 4d bc             	decl   -0x44(%ebp)
5fffef:	75 89                	jne    0x5fff7a
5ffff1:	8b 45 f0             	mov    -0x10(%ebp),%eax
5ffff4:	8b 18                	mov    (%eax),%ebx
5ffff6:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
5ffffa:	ff 45 e8             	incl   -0x18(%ebp)
5ffffd:	ff 4d c0             	decl   -0x40(%ebp)
600000:	0f 85 f5 fe ff ff    	jne    0x5ffefb
600006:	5f                   	pop    %edi
600007:	5e                   	pop    %esi
600008:	5b                   	pop    %ebx
600009:	8b e5                	mov    %ebp,%esp
60000b:	5d                   	pop    %ebp
60000c:	c2 44 00             	ret    $0x44
60000f:	00 00                	add    %al,(%eax)
600011:	00 20                	add    %ah,(%eax)
600013:	41                   	inc    %ecx
600014:	00 00                	add    %al,(%eax)
600016:	80 3f 00             	cmpb   $0x0,(%edi)
600019:	00 80 47 55 8b ec    	add    %al,-0x1374aab9(%eax)
60001f:	83 c4 d0             	add    $0xffffffd0,%esp
600022:	53                   	push   %ebx
600023:	56                   	push   %esi
600024:	57                   	push   %edi
600025:	89 55 f8             	mov    %edx,-0x8(%ebp)
600028:	89 45 fc             	mov    %eax,-0x4(%ebp)
60002b:	8b 75 18             	mov    0x18(%ebp),%esi
60002e:	8b 5d 20             	mov    0x20(%ebp),%ebx
600031:	8b 45 3c             	mov    0x3c(%ebp),%eax
600034:	89 45 f0             	mov    %eax,-0x10(%ebp)
600037:	8b 7d 38             	mov    0x38(%ebp),%edi
60003a:	8b 45 fc             	mov    -0x4(%ebp),%eax
60003d:	80 78 78 00          	cmpb   $0x0,0x78(%eax)
600041:	75 13                	jne    0x600056
600043:	8b 45 fc             	mov    -0x4(%ebp),%eax
600046:	83 78 7c 00          	cmpl   $0x0,0x7c(%eax)
60004a:	75 0a                	jne    0x600056
60004c:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
600050:	0f 84 61 01 00 00    	je     0x6001b7
600056:	8b 45 fc             	mov    -0x4(%ebp),%eax
600059:	83 78 7c 00          	cmpl   $0x0,0x7c(%eax)
60005d:	7c 18                	jl     0x600077
60005f:	8b 45 fc             	mov    -0x4(%ebp),%eax
600062:	db 40 7c             	fildl  0x7c(%eax)
600065:	d8 35 38 02 60 00    	fdivs  0x600238
60006b:	d8 05 3c 02 60 00    	fadds  0x60023c
600071:	dd 5d d8             	fstpl  -0x28(%ebp)
600074:	9b                   	fwait
600075:	eb 20                	jmp    0x600097
600077:	8b 45 fc             	mov    -0x4(%ebp),%eax
60007a:	8b 40 7c             	mov    0x7c(%eax),%eax
60007d:	f7 d8                	neg    %eax
60007f:	89 45 d0             	mov    %eax,-0x30(%ebp)
600082:	db 45 d0             	fildl  -0x30(%ebp)
600085:	d9 fa                	fsqrt
600087:	d8 35 38 02 60 00    	fdivs  0x600238
60008d:	d8 2d 3c 02 60 00    	fsubrs 0x60023c
600093:	dd 5d d8             	fstpl  -0x28(%ebp)
600096:	9b                   	fwait
600097:	89 7d f4             	mov    %edi,-0xc(%ebp)
60009a:	2b f3                	sub    %ebx,%esi
60009c:	0f 8c 8d 01 00 00    	jl     0x60022f
6000a2:	46                   	inc    %esi
6000a3:	89 75 d4             	mov    %esi,-0x2c(%ebp)
6000a6:	89 5d ec             	mov    %ebx,-0x14(%ebp)
6000a9:	8b 45 f8             	mov    -0x8(%ebp),%eax
6000ac:	8b 55 ec             	mov    -0x14(%ebp),%edx
6000af:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
6000b2:	8b 45 24             	mov    0x24(%ebp),%eax
6000b5:	8d 04 40             	lea    (%eax,%eax,2),%eax
6000b8:	03 d8                	add    %eax,%ebx
6000ba:	8b 45 f4             	mov    -0xc(%ebp),%eax
6000bd:	8b 10                	mov    (%eax),%edx
6000bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
6000c2:	8b 08                	mov    (%eax),%ecx
6000c4:	ff 11                	call   *(%ecx)
6000c6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
6000c9:	8b 75 f0             	mov    -0x10(%ebp),%esi
6000cc:	8b 45 24             	mov    0x24(%ebp),%eax
6000cf:	8b 7d 1c             	mov    0x1c(%ebp),%edi
6000d2:	2b f8                	sub    %eax,%edi
6000d4:	0f 8c cb 00 00 00    	jl     0x6001a5
6000da:	47                   	inc    %edi
6000db:	8b 06                	mov    (%esi),%eax
6000dd:	8d 04 40             	lea    (%eax,%eax,2),%eax
6000e0:	8b 55 e4             	mov    -0x1c(%ebp),%edx
6000e3:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
6000e7:	8b 55 fc             	mov    -0x4(%ebp),%edx
6000ea:	03 42 68             	add    0x68(%edx),%eax
6000ed:	2d 00 80 00 00       	sub    $0x8000,%eax
6000f2:	89 45 d0             	mov    %eax,-0x30(%ebp)
6000f5:	db 45 d0             	fildl  -0x30(%ebp)
6000f8:	dc 4d d8             	fmull  -0x28(%ebp)
6000fb:	d8 05 40 02 60 00    	fadds  0x600240
600101:	e8 c6 2b e0 ff       	call   0x402ccc
600106:	0f ac d0 08          	shrd   $0x8,%edx,%eax
60010a:	c1 ea 08             	shr    $0x8,%edx
60010d:	e8 22 93 fa ff       	call   0x5a9434
600112:	88 45 eb             	mov    %al,-0x15(%ebp)
600115:	8b 06                	mov    (%esi),%eax
600117:	8d 04 40             	lea    (%eax,%eax,2),%eax
60011a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
60011d:	0f b7 44 42 02       	movzwl 0x2(%edx,%eax,2),%eax
600122:	8b 55 fc             	mov    -0x4(%ebp),%edx
600125:	03 42 6c             	add    0x6c(%edx),%eax
600128:	2d 00 80 00 00       	sub    $0x8000,%eax
60012d:	89 45 d0             	mov    %eax,-0x30(%ebp)
600130:	db 45 d0             	fildl  -0x30(%ebp)
600133:	dc 4d d8             	fmull  -0x28(%ebp)
600136:	d8 05 40 02 60 00    	fadds  0x600240
60013c:	e8 8b 2b e0 ff       	call   0x402ccc
600141:	0f ac d0 08          	shrd   $0x8,%edx,%eax
600145:	c1 ea 08             	shr    $0x8,%edx
600148:	e8 e7 92 fa ff       	call   0x5a9434
60014d:	88 45 ea             	mov    %al,-0x16(%ebp)
600150:	8b 06                	mov    (%esi),%eax
600152:	8d 04 40             	lea    (%eax,%eax,2),%eax
600155:	8b 55 e4             	mov    -0x1c(%ebp),%edx
600158:	0f b7 44 42 04       	movzwl 0x4(%edx,%eax,2),%eax
60015d:	8b 55 fc             	mov    -0x4(%ebp),%edx
600160:	03 42 70             	add    0x70(%edx),%eax
600163:	2d 00 80 00 00       	sub    $0x8000,%eax
600168:	89 45 d0             	mov    %eax,-0x30(%ebp)
60016b:	db 45 d0             	fildl  -0x30(%ebp)
60016e:	dc 4d d8             	fmull  -0x28(%ebp)
600171:	d8 05 40 02 60 00    	fadds  0x600240
600177:	e8 50 2b e0 ff       	call   0x402ccc
60017c:	0f ac d0 08          	shrd   $0x8,%edx,%eax
600180:	c1 ea 08             	shr    $0x8,%edx
600183:	e8 ac 92 fa ff       	call   0x5a9434
600188:	88 45 e9             	mov    %al,-0x17(%ebp)
60018b:	8b d3                	mov    %ebx,%edx
60018d:	8d 45 e9             	lea    -0x17(%ebp),%eax
600190:	8a 4d 08             	mov    0x8(%ebp),%cl
600193:	e8 f0 ec ff ff       	call   0x5fee88
600198:	83 c3 03             	add    $0x3,%ebx
60019b:	83 c6 04             	add    $0x4,%esi
60019e:	4f                   	dec    %edi
60019f:	0f 85 36 ff ff ff    	jne    0x6000db
6001a5:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
6001a9:	ff 45 ec             	incl   -0x14(%ebp)
6001ac:	ff 4d d4             	decl   -0x2c(%ebp)
6001af:	0f 85 f4 fe ff ff    	jne    0x6000a9
6001b5:	eb 78                	jmp    0x60022f
6001b7:	89 7d f4             	mov    %edi,-0xc(%ebp)
6001ba:	2b f3                	sub    %ebx,%esi
6001bc:	7c 71                	jl     0x60022f
6001be:	46                   	inc    %esi
6001bf:	89 75 d4             	mov    %esi,-0x2c(%ebp)
6001c2:	89 5d ec             	mov    %ebx,-0x14(%ebp)
6001c5:	8b 45 f8             	mov    -0x8(%ebp),%eax
6001c8:	8b 55 ec             	mov    -0x14(%ebp),%edx
6001cb:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
6001ce:	8b 45 24             	mov    0x24(%ebp),%eax
6001d1:	8d 04 40             	lea    (%eax,%eax,2),%eax
6001d4:	03 d8                	add    %eax,%ebx
6001d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
6001d9:	8b 10                	mov    (%eax),%edx
6001db:	8b 45 fc             	mov    -0x4(%ebp),%eax
6001de:	8b 08                	mov    (%eax),%ecx
6001e0:	ff 11                	call   *(%ecx)
6001e2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
6001e5:	8b 75 f0             	mov    -0x10(%ebp),%esi
6001e8:	8b 45 24             	mov    0x24(%ebp),%eax
6001eb:	8b 7d 1c             	mov    0x1c(%ebp),%edi
6001ee:	2b f8                	sub    %eax,%edi
6001f0:	7c 31                	jl     0x600223
6001f2:	47                   	inc    %edi
6001f3:	8b 06                	mov    (%esi),%eax
6001f5:	8d 04 40             	lea    (%eax,%eax,2),%eax
6001f8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
6001fb:	8d 04 42             	lea    (%edx,%eax,2),%eax
6001fe:	0f b7 10             	movzwl (%eax),%edx
600201:	c1 ea 08             	shr    $0x8,%edx
600204:	88 53 02             	mov    %dl,0x2(%ebx)
600207:	0f b7 50 02          	movzwl 0x2(%eax),%edx
60020b:	c1 ea 08             	shr    $0x8,%edx
60020e:	88 53 01             	mov    %dl,0x1(%ebx)
600211:	0f b7 40 04          	movzwl 0x4(%eax),%eax
600215:	c1 e8 08             	shr    $0x8,%eax
600218:	88 03                	mov    %al,(%ebx)
60021a:	83 c3 03             	add    $0x3,%ebx
60021d:	83 c6 04             	add    $0x4,%esi
600220:	4f                   	dec    %edi
600221:	75 d0                	jne    0x6001f3
600223:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
600227:	ff 45 ec             	incl   -0x14(%ebp)
60022a:	ff 4d d4             	decl   -0x2c(%ebp)
60022d:	75 96                	jne    0x6001c5
60022f:	5f                   	pop    %edi
600230:	5e                   	pop    %esi
600231:	5b                   	pop    %ebx
600232:	8b e5                	mov    %ebp,%esp
600234:	5d                   	pop    %ebp
600235:	c2 38 00             	ret    $0x38
600238:	00 00                	add    %al,(%eax)
60023a:	20 41 00             	and    %al,0x0(%ecx)
60023d:	00 80 3f 00 00 00    	add    %al,0x3f(%eax)
600243:	47                   	inc    %edi
600244:	55                   	push   %ebp
600245:	8b ec                	mov    %esp,%ebp
600247:	83 c4 bc             	add    $0xffffffbc,%esp
60024a:	53                   	push   %ebx
60024b:	56                   	push   %esi
60024c:	57                   	push   %edi
60024d:	89 55 f8             	mov    %edx,-0x8(%ebp)
600250:	89 45 fc             	mov    %eax,-0x4(%ebp)
600253:	8b 75 18             	mov    0x18(%ebp),%esi
600256:	8b 5d 20             	mov    0x20(%ebp),%ebx
600259:	8b 45 3c             	mov    0x3c(%ebp),%eax
60025c:	89 45 f0             	mov    %eax,-0x10(%ebp)
60025f:	8b 7d 38             	mov    0x38(%ebp),%edi
600262:	8b 45 fc             	mov    -0x4(%ebp),%eax
600265:	80 78 78 00          	cmpb   $0x0,0x78(%eax)
600269:	75 13                	jne    0x60027e
60026b:	8b 45 fc             	mov    -0x4(%ebp),%eax
60026e:	83 78 7c 00          	cmpl   $0x0,0x7c(%eax)
600272:	75 0a                	jne    0x60027e
600274:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
600278:	0f 84 e9 01 00 00    	je     0x600467
60027e:	8b 45 fc             	mov    -0x4(%ebp),%eax
600281:	83 78 7c 00          	cmpl   $0x0,0x7c(%eax)
600285:	7c 18                	jl     0x60029f
600287:	8b 45 fc             	mov    -0x4(%ebp),%eax
60028a:	db 40 7c             	fildl  0x7c(%eax)
60028d:	d8 35 6c 05 60 00    	fdivs  0x60056c
600293:	d8 05 70 05 60 00    	fadds  0x600570
600299:	dd 5d c8             	fstpl  -0x38(%ebp)
60029c:	9b                   	fwait
60029d:	eb 20                	jmp    0x6002bf
60029f:	8b 45 fc             	mov    -0x4(%ebp),%eax
6002a2:	8b 40 7c             	mov    0x7c(%eax),%eax
6002a5:	f7 d8                	neg    %eax
6002a7:	89 45 bc             	mov    %eax,-0x44(%ebp)
6002aa:	db 45 bc             	fildl  -0x44(%ebp)
6002ad:	d9 fa                	fsqrt
6002af:	d8 35 6c 05 60 00    	fdivs  0x60056c
6002b5:	d8 2d 70 05 60 00    	fsubrs 0x600570
6002bb:	dd 5d c8             	fstpl  -0x38(%ebp)
6002be:	9b                   	fwait
6002bf:	89 7d f4             	mov    %edi,-0xc(%ebp)
6002c2:	2b f3                	sub    %ebx,%esi
6002c4:	0f 8c 96 02 00 00    	jl     0x600560
6002ca:	46                   	inc    %esi
6002cb:	89 75 c4             	mov    %esi,-0x3c(%ebp)
6002ce:	89 5d ec             	mov    %ebx,-0x14(%ebp)
6002d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
6002d4:	8b 55 ec             	mov    -0x14(%ebp),%edx
6002d7:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
6002da:	8b 45 24             	mov    0x24(%ebp),%eax
6002dd:	8d 04 40             	lea    (%eax,%eax,2),%eax
6002e0:	03 d8                	add    %eax,%ebx
6002e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
6002e5:	8b 10                	mov    (%eax),%edx
6002e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6002ea:	8b 08                	mov    (%eax),%ecx
6002ec:	ff 11                	call   *(%ecx)
6002ee:	89 45 dc             	mov    %eax,-0x24(%ebp)
6002f1:	80 7d 44 00          	cmpb   $0x0,0x44(%ebp)
6002f5:	74 16                	je     0x60030d
6002f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6002fa:	e8 d9 75 ff ff       	call   0x5f78d8
6002ff:	8b 55 f4             	mov    -0xc(%ebp),%edx
600302:	8b 12                	mov    (%edx),%edx
600304:	8b 08                	mov    (%eax),%ecx
600306:	ff 11                	call   *(%ecx)
600308:	89 45 d8             	mov    %eax,-0x28(%ebp)
60030b:	eb 06                	jmp    0x600313
60030d:	8b 45 40             	mov    0x40(%ebp),%eax
600310:	89 45 d8             	mov    %eax,-0x28(%ebp)
600313:	8b 75 f0             	mov    -0x10(%ebp),%esi
600316:	8b 45 24             	mov    0x24(%ebp),%eax
600319:	8b 55 1c             	mov    0x1c(%ebp),%edx
60031c:	2b d0                	sub    %eax,%edx
60031e:	0f 8c 2e 01 00 00    	jl     0x600452
600324:	42                   	inc    %edx
600325:	89 55 c0             	mov    %edx,-0x40(%ebp)
600328:	8b 45 d8             	mov    -0x28(%ebp),%eax
60032b:	8b 16                	mov    (%esi),%edx
60032d:	0f b6 14 10          	movzbl (%eax,%edx,1),%edx
600331:	8b 45 48             	mov    0x48(%ebp),%eax
600334:	e8 e3 90 fa ff       	call   0x5a941c
600339:	8b f8                	mov    %eax,%edi
60033b:	c1 e7 0a             	shl    $0xa,%edi
60033e:	8b 06                	mov    (%esi),%eax
600340:	8d 04 40             	lea    (%eax,%eax,2),%eax
600343:	8b 55 dc             	mov    -0x24(%ebp),%edx
600346:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
60034a:	8b 55 fc             	mov    -0x4(%ebp),%edx
60034d:	03 42 68             	add    0x68(%edx),%eax
600350:	2d 00 80 00 00       	sub    $0x8000,%eax
600355:	89 45 bc             	mov    %eax,-0x44(%ebp)
600358:	db 45 bc             	fildl  -0x44(%ebp)
60035b:	dc 4d c8             	fmull  -0x38(%ebp)
60035e:	d8 05 74 05 60 00    	fadds  0x600574
600364:	e8 63 29 e0 ff       	call   0x402ccc
600369:	0f ac d0 08          	shrd   $0x8,%edx,%eax
60036d:	c1 ea 08             	shr    $0x8,%edx
600370:	e8 bf 90 fa ff       	call   0x5a9434