5851cb:	ff 93 a8 00 00 00    	call   *0xa8(%ebx)
5851d1:	89 45 f4             	mov    %eax,-0xc(%ebp)
5851d4:	4e                   	dec    %esi
5851d5:	75 ca                	jne    0x5851a1
5851d7:	5e                   	pop    %esi
5851d8:	5b                   	pop    %ebx
5851d9:	8b e5                	mov    %ebp,%esp
5851db:	5d                   	pop    %ebp
5851dc:	c2 04 00             	ret    $0x4
5851df:	90                   	nop
5851e0:	53                   	push   %ebx
5851e1:	56                   	push   %esi
5851e2:	8b f2                	mov    %edx,%esi
5851e4:	8b d8                	mov    %eax,%ebx
5851e6:	6a ff                	push   $0xffffffff
5851e8:	8b cb                	mov    %ebx,%ecx
5851ea:	ba 5a 59 58 72       	mov    $0x7258595a,%edx
5851ef:	8b c6                	mov    %esi,%eax
5851f1:	e8 52 6c ff ff       	call   0x57be48
5851f6:	85 c0                	test   %eax,%eax
5851f8:	7d 05                	jge    0x5851ff
5851fa:	33 c0                	xor    %eax,%eax
5851fc:	5e                   	pop    %esi
5851fd:	5b                   	pop    %ebx
5851fe:	c3                   	ret
5851ff:	6a ff                	push   $0xffffffff
585201:	8d 4b 18             	lea    0x18(%ebx),%ecx
585204:	ba 5a 59 58 67       	mov    $0x6758595a,%edx
585209:	8b c6                	mov    %esi,%eax
58520b:	e8 38 6c ff ff       	call   0x57be48
585210:	85 c0                	test   %eax,%eax
585212:	7d 05                	jge    0x585219
585214:	33 c0                	xor    %eax,%eax
585216:	5e                   	pop    %esi
585217:	5b                   	pop    %ebx
585218:	c3                   	ret
585219:	6a ff                	push   $0xffffffff
58521b:	8d 4b 30             	lea    0x30(%ebx),%ecx
58521e:	ba 5a 59 58 62       	mov    $0x6258595a,%edx
585223:	8b c6                	mov    %esi,%eax
585225:	e8 1e 6c ff ff       	call   0x57be48
58522a:	85 c0                	test   %eax,%eax
58522c:	7d 05                	jge    0x585233
58522e:	33 c0                	xor    %eax,%eax
585230:	5e                   	pop    %esi
585231:	5b                   	pop    %ebx
585232:	c3                   	ret
585233:	83 c8 ff             	or     $0xffffffff,%eax
585236:	5e                   	pop    %esi
585237:	5b                   	pop    %ebx
585238:	c3                   	ret
585239:	8d 40 00             	lea    0x0(%eax),%eax
58523c:	53                   	push   %ebx
58523d:	56                   	push   %esi
58523e:	83 c4 b8             	add    $0xffffffb8,%esp
585241:	8b f2                	mov    %edx,%esi
585243:	8b d8                	mov    %eax,%ebx
585245:	8b c4                	mov    %esp,%eax
585247:	8b d6                	mov    %esi,%edx
585249:	e8 92 ff ff ff       	call   0x5851e0
58524e:	85 c0                	test   %eax,%eax
585250:	75 04                	jne    0x585256
585252:	33 c0                	xor    %eax,%eax
585254:	eb 62                	jmp    0x5852b8
585256:	ff 74 24 04          	push   0x4(%esp)
58525a:	ff 74 24 04          	push   0x4(%esp)
58525e:	ff 74 24 24          	push   0x24(%esp)
585262:	ff 74 24 24          	push   0x24(%esp)
585266:	ff 74 24 44          	push   0x44(%esp)
58526a:	ff 74 24 44          	push   0x44(%esp)
58526e:	8b c3                	mov    %ebx,%eax
585270:	e8 5f 65 ff ff       	call   0x57b7d4
585275:	ff 74 24 0c          	push   0xc(%esp)
585279:	ff 74 24 0c          	push   0xc(%esp)
58527d:	ff 74 24 2c          	push   0x2c(%esp)
585281:	ff 74 24 2c          	push   0x2c(%esp)
585285:	ff 74 24 4c          	push   0x4c(%esp)
585289:	ff 74 24 4c          	push   0x4c(%esp)
58528d:	8d 43 18             	lea    0x18(%ebx),%eax
585290:	e8 3f 65 ff ff       	call   0x57b7d4
585295:	ff 74 24 14          	push   0x14(%esp)
585299:	ff 74 24 14          	push   0x14(%esp)
58529d:	ff 74 24 34          	push   0x34(%esp)
5852a1:	ff 74 24 34          	push   0x34(%esp)
5852a5:	ff 74 24 54          	push   0x54(%esp)
5852a9:	ff 74 24 54          	push   0x54(%esp)
5852ad:	8d 43 30             	lea    0x30(%ebx),%eax
5852b0:	e8 1f 65 ff ff       	call   0x57b7d4
5852b5:	83 c8 ff             	or     $0xffffffff,%eax
5852b8:	83 c4 48             	add    $0x48,%esp
5852bb:	5e                   	pop    %esi
5852bc:	5b                   	pop    %ebx
5852bd:	c3                   	ret
5852be:	8b c0                	mov    %eax,%eax
5852c0:	53                   	push   %ebx
5852c1:	56                   	push   %esi
5852c2:	8b f0                	mov    %eax,%esi
5852c4:	8b 06                	mov    (%esi),%eax
5852c6:	e8 3d bc ff ff       	call   0x580f08
5852cb:	8b d8                	mov    %eax,%ebx
5852cd:	85 db                	test   %ebx,%ebx
5852cf:	75 05                	jne    0x5852d6
5852d1:	33 c0                	xor    %eax,%eax
5852d3:	5e                   	pop    %esi
5852d4:	5b                   	pop    %ebx
5852d5:	c3                   	ret
5852d6:	8b 0e                	mov    (%esi),%ecx
5852d8:	03 c9                	add    %ecx,%ecx
5852da:	8d 56 04             	lea    0x4(%esi),%edx
5852dd:	8d 43 04             	lea    0x4(%ebx),%eax
5852e0:	e8 db 2b e8 ff       	call   0x407ec0
5852e5:	8b c3                	mov    %ebx,%eax
5852e7:	5e                   	pop    %esi
5852e8:	5b                   	pop    %ebx
5852e9:	c3                   	ret
5852ea:	8b c0                	mov    %eax,%eax
5852ec:	53                   	push   %ebx
5852ed:	56                   	push   %esi
5852ee:	8b d8                	mov    %eax,%ebx
5852f0:	8b c3                	mov    %ebx,%eax
5852f2:	e8 21 6b ff ff       	call   0x57be18
5852f7:	85 c0                	test   %eax,%eax
5852f9:	7d 05                	jge    0x585300
5852fb:	33 c0                	xor    %eax,%eax
5852fd:	5e                   	pop    %esi
5852fe:	5b                   	pop    %ebx
5852ff:	c3                   	ret
585300:	83 3b 00             	cmpl   $0x0,(%ebx)
585303:	75 0f                	jne    0x585314
585305:	8b 84 83 18 03 00 00 	mov    0x318(%ebx,%eax,4),%eax
58530c:	e8 af ff ff ff       	call   0x5852c0
585311:	5e                   	pop    %esi
585312:	5b                   	pop    %ebx
585313:	c3                   	ret
585314:	8b b4 83 50 02 00 00 	mov    0x250(%ebx,%eax,4),%esi
58531b:	8b c6                	mov    %esi,%eax
58531d:	99                   	cltd
58531e:	52                   	push   %edx
58531f:	50                   	push   %eax
585320:	8b 03                	mov    (%ebx),%eax
585322:	ff 93 f0 03 00 00    	call   *0x3f0(%ebx)
585328:	85 c0                	test   %eax,%eax
58532a:	74 05                	je     0x585331
58532c:	33 c0                	xor    %eax,%eax
58532e:	5e                   	pop    %esi
58532f:	5b                   	pop    %ebx
585330:	c3                   	ret
585331:	8b c3                	mov    %ebx,%eax
585333:	e8 0c c2 ff ff       	call   0x581544
585338:	5e                   	pop    %esi
585339:	5b                   	pop    %ebx
58533a:	c3                   	ret
58533b:	90                   	nop
58533c:	53                   	push   %ebx
58533d:	56                   	push   %esi
58533e:	57                   	push   %edi
58533f:	83 c4 b8             	add    $0xffffffb8,%esp
585342:	8b da                	mov    %edx,%ebx
585344:	89 04 24             	mov    %eax,(%esp)
585347:	8b 04 24             	mov    (%esp),%eax
58534a:	e8 b9 bb ff ff       	call   0x580f08
58534f:	8b f8                	mov    %eax,%edi
585351:	85 ff                	test   %edi,%edi
585353:	75 04                	jne    0x585359
585355:	33 c0                	xor    %eax,%eax
585357:	eb 64                	jmp    0x5853bd
585359:	8d 54 24 08          	lea    0x8(%esp),%edx
58535d:	8b 03                	mov    (%ebx),%eax
58535f:	e8 e8 a4 ff ff       	call   0x57f84c
585364:	8d 43 04             	lea    0x4(%ebx),%eax
585367:	89 44 24 04          	mov    %eax,0x4(%esp)
58536b:	8b 34 24             	mov    (%esp),%esi
58536e:	4e                   	dec    %esi
58536f:	85 f6                	test   %esi,%esi
585371:	7c 48                	jl     0x5853bb
585373:	46                   	inc    %esi
585374:	33 db                	xor    %ebx,%ebx
585376:	8b c3                	mov    %ebx,%eax
585378:	c1 e0 10             	shl    $0x10,%eax
58537b:	2b c3                	sub    %ebx,%eax
58537d:	89 44 24 40          	mov    %eax,0x40(%esp)
585381:	db 44 24 40          	fildl  0x40(%esp)
585385:	8b 04 24             	mov    (%esp),%eax
585388:	48                   	dec    %eax
585389:	89 44 24 44          	mov    %eax,0x44(%esp)
58538d:	db 44 24 44          	fildl  0x44(%esp)
585391:	de f9                	fdivrp %st,%st(1)
585393:	d8 05 c4 53 58 00    	fadds  0x5853c4
585399:	83 c4 f4             	add    $0xfffffff4,%esp
58539c:	db 3c 24             	fstpt  (%esp)
58539f:	9b                   	fwait
5853a0:	e8 5b d3 06 00       	call   0x5f2700
5853a5:	8d 4c 24 08          	lea    0x8(%esp),%ecx
5853a9:	8b 54 24 04          	mov    0x4(%esp),%edx
5853ad:	e8 da ef ff ff       	call   0x58438c
5853b2:	66 89 44 5f 04       	mov    %ax,0x4(%edi,%ebx,2)
5853b7:	43                   	inc    %ebx
5853b8:	4e                   	dec    %esi
5853b9:	75 bb                	jne    0x585376
5853bb:	8b c7                	mov    %edi,%eax
5853bd:	83 c4 48             	add    $0x48,%esp
5853c0:	5f                   	pop    %edi
5853c1:	5e                   	pop    %esi
5853c2:	5b                   	pop    %ebx
5853c3:	c3                   	ret
5853c4:	00 00                	add    %al,(%eax)
5853c6:	00 3f                	add    %bh,(%edi)
5853c8:	53                   	push   %ebx
5853c9:	56                   	push   %esi
5853ca:	57                   	push   %edi
5853cb:	83 c4 90             	add    $0xffffff90,%esp
5853ce:	8b d8                	mov    %eax,%ebx
5853d0:	8b 03                	mov    (%ebx),%eax
5853d2:	50                   	push   %eax
5853d3:	8d 44 24 04          	lea    0x4(%esp),%eax
5853d7:	b9 08 00 00 00       	mov    $0x8,%ecx
5853dc:	ba 01 00 00 00       	mov    $0x1,%edx
5853e1:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
5853e7:	8b c4                	mov    %esp,%eax
5853e9:	e8 c6 63 ff ff       	call   0x57b7b4
5853ee:	8b 04 24             	mov    (%esp),%eax
5853f1:	2d 00 ee 78 94       	sub    $0x9478ee00,%eax
5853f6:	74 17                	je     0x58540f
5853f8:	2d 76 84 fc ce       	sub    $0xcefc8476,%eax
5853fd:	74 10                	je     0x58540f
5853ff:	2d eb ff eb 0c       	sub    $0xcebffeb,%eax
585404:	0f 84 f7 00 00 00    	je     0x585501
58540a:	e9 a0 01 00 00       	jmp    0x5855af
58540f:	8b 03                	mov    (%ebx),%eax
585411:	50                   	push   %eax
585412:	8d 44 24 0c          	lea    0xc(%esp),%eax
585416:	b9 01 00 00 00       	mov    $0x1,%ecx
58541b:	ba 04 00 00 00       	mov    $0x4,%edx
585420:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585426:	8d 44 24 08          	lea    0x8(%esp),%eax
58542a:	e8 85 63 ff ff       	call   0x57b7b4
58542f:	8b 44 24 08          	mov    0x8(%esp),%eax
585433:	83 e8 01             	sub    $0x1,%eax
585436:	72 04                	jb     0x58543c
585438:	74 2f                	je     0x585469
58543a:	eb 73                	jmp    0x5854af
58543c:	b8 02 00 00 00       	mov    $0x2,%eax
585441:	e8 c2 ba ff ff       	call   0x580f08
585446:	8b f0                	mov    %eax,%esi
585448:	85 f6                	test   %esi,%esi
58544a:	75 07                	jne    0x585453
58544c:	33 c0                	xor    %eax,%eax
58544e:	e9 5e 01 00 00       	jmp    0x5855b1
585453:	66 c7 46 04 00 00    	movw   $0x0,0x4(%esi)
585459:	8d 46 04             	lea    0x4(%esi),%eax
58545c:	66 c7 40 02 ff ff    	movw   $0xffff,0x2(%eax)
585462:	8b c6                	mov    %esi,%eax
585464:	e9 48 01 00 00       	jmp    0x5855b1
585469:	8b 03                	mov    (%ebx),%eax
58546b:	50                   	push   %eax
58546c:	8d 44 24 10          	lea    0x10(%esp),%eax
585470:	b9 01 00 00 00       	mov    $0x1,%ecx
585475:	ba 02 00 00 00       	mov    $0x2,%edx
58547a:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585480:	8d 44 24 0c          	lea    0xc(%esp),%eax
585484:	e8 1f 63 ff ff       	call   0x57b7a8
585489:	66 8b 44 24 0c       	mov    0xc(%esp),%ax
58548e:	e8 dd bb ff ff       	call   0x581070
585493:	d8 3d b8 55 58 00    	fdivrs 0x5855b8
585499:	83 c4 f8             	add    $0xfffffff8,%esp
58549c:	dd 1c 24             	fstpl  (%esp)
58549f:	9b                   	fwait
5854a0:	b8 00 10 00 00       	mov    $0x1000,%eax
5854a5:	e8 ba ba ff ff       	call   0x580f64
5854aa:	e9 02 01 00 00       	jmp    0x5855b1
5854af:	8b 44 24 08          	mov    0x8(%esp),%eax
5854b3:	e8 50 ba ff ff       	call   0x580f08
5854b8:	8b f0                	mov    %eax,%esi
5854ba:	85 f6                	test   %esi,%esi
5854bc:	75 07                	jne    0x5854c5
5854be:	33 c0                	xor    %eax,%eax
5854c0:	e9 ec 00 00 00       	jmp    0x5855b1
5854c5:	8b 03                	mov    (%ebx),%eax
5854c7:	50                   	push   %eax
5854c8:	8d 46 04             	lea    0x4(%esi),%eax
5854cb:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5854cf:	ba 02 00 00 00       	mov    $0x2,%edx
5854d4:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
5854da:	8d 46 04             	lea    0x4(%esi),%eax
5854dd:	8b 54 24 08          	mov    0x8(%esp),%edx
5854e1:	e8 92 b7 ff ff       	call   0x580c78
5854e6:	8b d6                	mov    %esi,%edx
5854e8:	8b 44 24 08          	mov    0x8(%esp),%eax
5854ec:	e8 4b fe ff ff       	call   0x58533c
5854f1:	8b d8                	mov    %eax,%ebx
5854f3:	8b c6                	mov    %esi,%eax
5854f5:	e8 b6 bb ff ff       	call   0x5810b0
5854fa:	8b c3                	mov    %ebx,%eax
5854fc:	e9 b0 00 00 00       	jmp    0x5855b1
585501:	8b 03                	mov    (%ebx),%eax
585503:	50                   	push   %eax
585504:	8d 44 24 1c          	lea    0x1c(%esp),%eax
585508:	b9 01 00 00 00       	mov    $0x1,%ecx
58550d:	ba 02 00 00 00       	mov    $0x2,%edx
585512:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585518:	8b 03                	mov    (%ebx),%eax
58551a:	50                   	push   %eax
58551b:	8d 44 24 18          	lea    0x18(%esp),%eax
58551f:	b9 01 00 00 00       	mov    $0x1,%ecx
585524:	ba 02 00 00 00       	mov    $0x2,%edx
585529:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
58552f:	8d 44 24 18          	lea    0x18(%esp),%eax
585533:	e8 70 62 ff ff       	call   0x57b7a8
585538:	66 83 7c 24 18 05    	cmpw   $0x5,0x18(%esp)
58553e:	76 04                	jbe    0x585544
585540:	33 c0                	xor    %eax,%eax
585542:	eb 6d                	jmp    0x5855b1
585544:	8d 44 24 20          	lea    0x20(%esp),%eax
585548:	ba 50 00 00 00       	mov    $0x50,%edx
58554d:	e8 82 29 e8 ff       	call   0x407ed4
585552:	0f b7 44 24 18       	movzwl 0x18(%esp),%eax
585557:	8b 04 85 ec 34 6a 00 	mov    0x6a34ec(,%eax,4),%eax
58555e:	8b f8                	mov    %eax,%edi
585560:	4f                   	dec    %edi
585561:	85 ff                	test   %edi,%edi
585563:	7c 2e                	jl     0x585593
585565:	47                   	inc    %edi
585566:	8d 74 24 20          	lea    0x20(%esp),%esi
58556a:	8b 03                	mov    (%ebx),%eax
58556c:	50                   	push   %eax
58556d:	8d 44 24 14          	lea    0x14(%esp),%eax
585571:	b9 01 00 00 00       	mov    $0x1,%ecx
585576:	ba 04 00 00 00       	mov    $0x4,%edx
58557b:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585581:	8b 44 24 10          	mov    0x10(%esp),%eax
585585:	e8 aa 64 ff ff       	call   0x57ba34
58558a:	dd 1e                	fstpl  (%esi)
58558c:	9b                   	fwait
58558d:	83 c6 08             	add    $0x8,%esi
585590:	4f                   	dec    %edi
585591:	75 d7                	jne    0x58556a
585593:	8d 4c 24 20          	lea    0x20(%esp),%ecx
585597:	0f b7 54 24 18       	movzwl 0x18(%esp),%edx
58559c:	42                   	inc    %edx
58559d:	f7 da                	neg    %edx
58559f:	b8 00 10 00 00       	mov    $0x1000,%eax
5855a4:	e8 13 bb ff ff       	call   0x5810bc
5855a9:	8b f0                	mov    %eax,%esi
5855ab:	8b c6                	mov    %esi,%eax
5855ad:	eb 02                	jmp    0x5855b1
5855af:	33 c0                	xor    %eax,%eax
5855b1:	83 c4 70             	add    $0x70,%esp
5855b4:	5f                   	pop    %edi
5855b5:	5e                   	pop    %esi
5855b6:	5b                   	pop    %ebx