5d024d:	b0 01                	mov    $0x1,%al
5d024f:	5b                   	pop    %ebx
5d0250:	8b e5                	mov    %ebp,%esp
5d0252:	5d                   	pop    %ebp
5d0253:	c2 04 00             	ret    $0x4
5d0256:	5f                   	pop    %edi
5d0257:	5e                   	pop    %esi
5d0258:	32 c0                	xor    %al,%al
5d025a:	5b                   	pop    %ebx
5d025b:	8b e5                	mov    %ebp,%esp
5d025d:	5d                   	pop    %ebp
5d025e:	c2 04 00             	ret    $0x4
5d0261:	cc                   	int3
5d0262:	cc                   	int3
5d0263:	cc                   	int3
5d0264:	cc                   	int3
5d0265:	cc                   	int3
5d0266:	cc                   	int3
5d0267:	cc                   	int3
5d0268:	cc                   	int3
5d0269:	cc                   	int3
5d026a:	cc                   	int3
5d026b:	cc                   	int3
5d026c:	cc                   	int3
5d026d:	cc                   	int3
5d026e:	cc                   	int3
5d026f:	cc                   	int3
5d0270:	55                   	push   %ebp
5d0271:	8b ec                	mov    %esp,%ebp
5d0273:	56                   	push   %esi
5d0274:	57                   	push   %edi
5d0275:	8b f9                	mov    %ecx,%edi
5d0277:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5d027d:	e8 9e 76 ff ff       	call   0x5c7920
5d0282:	8d 45 08             	lea    0x8(%ebp),%eax
5d0285:	50                   	push   %eax
5d0286:	8d 8f fc 50 03 00    	lea    0x350fc(%edi),%ecx
5d028c:	e8 df fe ff ff       	call   0x5d0170
5d0291:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5d0297:	e8 34 7e ff ff       	call   0x5c80d0
5d029c:	5f                   	pop    %edi
5d029d:	5e                   	pop    %esi
5d029e:	5d                   	pop    %ebp
5d029f:	c2 04 00             	ret    $0x4
5d02a2:	cc                   	int3
5d02a3:	cc                   	int3
5d02a4:	cc                   	int3
5d02a5:	cc                   	int3
5d02a6:	cc                   	int3
5d02a7:	cc                   	int3
5d02a8:	cc                   	int3
5d02a9:	cc                   	int3
5d02aa:	cc                   	int3
5d02ab:	cc                   	int3
5d02ac:	cc                   	int3
5d02ad:	cc                   	int3
5d02ae:	cc                   	int3
5d02af:	cc                   	int3
5d02b0:	55                   	push   %ebp
5d02b1:	8b ec                	mov    %esp,%ebp
5d02b3:	83 ec 08             	sub    $0x8,%esp
5d02b6:	53                   	push   %ebx
5d02b7:	56                   	push   %esi
5d02b8:	8b 75 08             	mov    0x8(%ebp),%esi
5d02bb:	8b d9                	mov    %ecx,%ebx
5d02bd:	85 f6                	test   %esi,%esi
5d02bf:	74 47                	je     0x5d0308
5d02c1:	8b 03                	mov    (%ebx),%eax
5d02c3:	80 3e 24             	cmpb   $0x24,(%esi)
5d02c6:	57                   	push   %edi
5d02c7:	6a 01                	push   $0x1
5d02c9:	8b 50 04             	mov    0x4(%eax),%edx
5d02cc:	8d 46 01             	lea    0x1(%esi),%eax
5d02cf:	0f 45 c6             	cmovne %esi,%eax
5d02d2:	50                   	push   %eax
5d02d3:	ff d2                	call   *%edx
5d02d5:	8d 8b 7c 50 03 00    	lea    0x3507c(%ebx),%ecx
5d02db:	8b f8                	mov    %eax,%edi
5d02dd:	e8 3e 76 ff ff       	call   0x5c7920
5d02e2:	8a 45 0c             	mov    0xc(%ebp),%al
5d02e5:	8d 8b 44 10 03 00    	lea    0x31044(%ebx),%ecx
5d02eb:	88 45 fc             	mov    %al,-0x4(%ebp)
5d02ee:	8d 45 f8             	lea    -0x8(%ebp),%eax
5d02f1:	6a 01                	push   $0x1
5d02f3:	50                   	push   %eax
5d02f4:	89 7d f8             	mov    %edi,-0x8(%ebp)
5d02f7:	e8 e4 e8 ff ff       	call   0x5cebe0
5d02fc:	8d 8b 7c 50 03 00    	lea    0x3507c(%ebx),%ecx
5d0302:	e8 c9 7d ff ff       	call   0x5c80d0
5d0307:	5f                   	pop    %edi
5d0308:	5e                   	pop    %esi
5d0309:	5b                   	pop    %ebx
5d030a:	8b e5                	mov    %ebp,%esp
5d030c:	5d                   	pop    %ebp
5d030d:	c2 08 00             	ret    $0x8
5d0310:	e9 bb fb ff ff       	jmp    0x5cfed0
5d0315:	cc                   	int3
5d0316:	cc                   	int3
5d0317:	cc                   	int3
5d0318:	cc                   	int3
5d0319:	cc                   	int3
5d031a:	cc                   	int3
5d031b:	cc                   	int3
5d031c:	cc                   	int3
5d031d:	cc                   	int3
5d031e:	cc                   	int3
5d031f:	cc                   	int3
5d0320:	55                   	push   %ebp
5d0321:	8b ec                	mov    %esp,%ebp
5d0323:	51                   	push   %ecx
5d0324:	53                   	push   %ebx
5d0325:	8b d9                	mov    %ecx,%ebx
5d0327:	56                   	push   %esi
5d0328:	57                   	push   %edi
5d0329:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5d032c:	8b 73 04             	mov    0x4(%ebx),%esi
5d032f:	85 f6                	test   %esi,%esi
5d0331:	7e 07                	jle    0x5d033a
5d0333:	8b 7b 08             	mov    0x8(%ebx),%edi
5d0336:	85 ff                	test   %edi,%edi
5d0338:	75 58                	jne    0x5d0392
5d033a:	f7 de                	neg    %esi
5d033c:	b8 01 00 00 00       	mov    $0x1,%eax
5d0341:	3b f0                	cmp    %eax,%esi
5d0343:	0f 4c f0             	cmovl  %eax,%esi
5d0346:	81 c3 a8 00 00 00    	add    $0xa8,%ebx
5d034c:	8d 78 26             	lea    0x26(%eax),%edi
5d034f:	90                   	nop
5d0350:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d0355:	69 ce a7 41 00 00    	imul   $0x41a7,%esi,%ecx
5d035b:	f7 ee                	imul   %esi
5d035d:	03 d6                	add    %esi,%edx
5d035f:	c1 fa 10             	sar    $0x10,%edx
5d0362:	8b c2                	mov    %edx,%eax
5d0364:	c1 e8 1f             	shr    $0x1f,%eax
5d0367:	03 c2                	add    %edx,%eax
5d0369:	69 c0 ff ff ff 7f    	imul   $0x7fffffff,%eax,%eax
5d036f:	2b c8                	sub    %eax,%ecx
5d0371:	8d b1 ff ff ff 7f    	lea    0x7fffffff(%ecx),%esi
5d0377:	0f 49 f1             	cmovns %ecx,%esi
5d037a:	83 ff 20             	cmp    $0x20,%edi
5d037d:	73 02                	jae    0x5d0381
5d037f:	89 33                	mov    %esi,(%ebx)
5d0381:	83 eb 04             	sub    $0x4,%ebx
5d0384:	83 ef 01             	sub    $0x1,%edi
5d0387:	79 c7                	jns    0x5d0350
5d0389:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5d038c:	8b 7b 0c             	mov    0xc(%ebx),%edi
5d038f:	89 7b 08             	mov    %edi,0x8(%ebx)
5d0392:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d0397:	f7 ee                	imul   %esi
5d0399:	8b c7                	mov    %edi,%eax
5d039b:	03 d6                	add    %esi,%edx
5d039d:	c1 fa 10             	sar    $0x10,%edx
5d03a0:	8b ca                	mov    %edx,%ecx
5d03a2:	c1 e9 1f             	shr    $0x1f,%ecx
5d03a5:	03 ca                	add    %edx,%ecx
5d03a7:	69 d6 a7 41 00 00    	imul   $0x41a7,%esi,%edx
5d03ad:	69 c9 ff ff ff 7f    	imul   $0x7fffffff,%ecx,%ecx
5d03b3:	5f                   	pop    %edi
5d03b4:	2b d1                	sub    %ecx,%edx
5d03b6:	8d b2 ff ff ff 7f    	lea    0x7fffffff(%edx),%esi
5d03bc:	0f 49 f2             	cmovns %edx,%esi
5d03bf:	99                   	cltd
5d03c0:	81 e2 ff ff ff 03    	and    $0x3ffffff,%edx
5d03c6:	03 c2                	add    %edx,%eax
5d03c8:	c1 f8 1a             	sar    $0x1a,%eax
5d03cb:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5d03ce:	8b 41 0c             	mov    0xc(%ecx),%eax
5d03d1:	89 43 08             	mov    %eax,0x8(%ebx)
5d03d4:	89 71 0c             	mov    %esi,0xc(%ecx)
5d03d7:	8b 43 08             	mov    0x8(%ebx),%eax
5d03da:	89 73 04             	mov    %esi,0x4(%ebx)
5d03dd:	5e                   	pop    %esi
5d03de:	5b                   	pop    %ebx
5d03df:	8b e5                	mov    %ebp,%esp
5d03e1:	5d                   	pop    %ebp
5d03e2:	c3                   	ret
5d03e3:	cc                   	int3
5d03e4:	cc                   	int3
5d03e5:	cc                   	int3
5d03e6:	cc                   	int3
5d03e7:	cc                   	int3
5d03e8:	cc                   	int3
5d03e9:	cc                   	int3
5d03ea:	cc                   	int3
5d03eb:	cc                   	int3
5d03ec:	cc                   	int3
5d03ed:	cc                   	int3
5d03ee:	cc                   	int3
5d03ef:	cc                   	int3
5d03f0:	8b 01                	mov    (%ecx),%eax
5d03f2:	6a 7e                	push   $0x7e
5d03f4:	6a 20                	push   $0x20
5d03f6:	ff 50 08             	call   *0x8(%eax)
5d03f9:	c3                   	ret
5d03fa:	cc                   	int3
5d03fb:	cc                   	int3
5d03fc:	cc                   	int3
5d03fd:	cc                   	int3
5d03fe:	cc                   	int3
5d03ff:	cc                   	int3
5d0400:	55                   	push   %ebp
5d0401:	8b ec                	mov    %esp,%ebp
5d0403:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5d0407:	53                   	push   %ebx
5d0408:	8b d9                	mov    %ecx,%ebx
5d040a:	0f 86 d3 00 00 00    	jbe    0x5d04e3
5d0410:	56                   	push   %esi
5d0411:	b8 01 00 00 00       	mov    $0x1,%eax
5d0416:	57                   	push   %edi
5d0417:	8b 4b 04             	mov    0x4(%ebx),%ecx
5d041a:	85 c9                	test   %ecx,%ecx
5d041c:	7e 07                	jle    0x5d0425
5d041e:	8b 7b 08             	mov    0x8(%ebx),%edi
5d0421:	85 ff                	test   %edi,%edi
5d0423:	75 5a                	jne    0x5d047f
5d0425:	f7 d9                	neg    %ecx
5d0427:	8d bb a8 00 00 00    	lea    0xa8(%ebx),%edi
5d042d:	83 f9 01             	cmp    $0x1,%ecx
5d0430:	be 27 00 00 00       	mov    $0x27,%esi
5d0435:	0f 4c c8             	cmovl  %eax,%ecx
5d0438:	eb 06                	jmp    0x5d0440
5d043a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5d0440:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d0445:	f7 e9                	imul   %ecx
5d0447:	03 d1                	add    %ecx,%edx
5d0449:	c1 fa 10             	sar    $0x10,%edx
5d044c:	8b c2                	mov    %edx,%eax
5d044e:	c1 e8 1f             	shr    $0x1f,%eax
5d0451:	03 c2                	add    %edx,%eax
5d0453:	69 d1 a7 41 00 00    	imul   $0x41a7,%ecx,%edx
5d0459:	69 c0 ff ff ff 7f    	imul   $0x7fffffff,%eax,%eax
5d045f:	2b d0                	sub    %eax,%edx
5d0461:	8d 8a ff ff ff 7f    	lea    0x7fffffff(%edx),%ecx
5d0467:	0f 49 ca             	cmovns %edx,%ecx
5d046a:	83 fe 20             	cmp    $0x20,%esi
5d046d:	73 02                	jae    0x5d0471
5d046f:	89 0f                	mov    %ecx,(%edi)
5d0471:	83 ef 04             	sub    $0x4,%edi
5d0474:	83 ee 01             	sub    $0x1,%esi
5d0477:	79 c7                	jns    0x5d0440
5d0479:	8b 7b 0c             	mov    0xc(%ebx),%edi
5d047c:	89 7b 08             	mov    %edi,0x8(%ebx)
5d047f:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d0484:	f7 e9                	imul   %ecx
5d0486:	8b c7                	mov    %edi,%eax
5d0488:	03 d1                	add    %ecx,%edx
5d048a:	69 c9 a7 41 00 00    	imul   $0x41a7,%ecx,%ecx
5d0490:	c1 fa 10             	sar    $0x10,%edx
5d0493:	8b f2                	mov    %edx,%esi
5d0495:	c1 ee 1f             	shr    $0x1f,%esi
5d0498:	03 f2                	add    %edx,%esi
5d049a:	69 d6 ff ff ff 7f    	imul   $0x7fffffff,%esi,%edx
5d04a0:	2b ca                	sub    %edx,%ecx
5d04a2:	99                   	cltd
5d04a3:	8d b1 ff ff ff 7f    	lea    0x7fffffff(%ecx),%esi
5d04a9:	0f 49 f1             	cmovns %ecx,%esi
5d04ac:	81 e2 ff ff ff 03    	and    $0x3ffffff,%edx
5d04b2:	03 c2                	add    %edx,%eax
5d04b4:	c1 f8 1a             	sar    $0x1a,%eax
5d04b7:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5d04ba:	8b 41 0c             	mov    0xc(%ecx),%eax
5d04bd:	89 43 08             	mov    %eax,0x8(%ebx)
5d04c0:	89 71 0c             	mov    %esi,0xc(%ecx)
5d04c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d04c6:	8a 43 08             	mov    0x8(%ebx),%al
5d04c9:	89 73 04             	mov    %esi,0x4(%ebx)
5d04cc:	88 01                	mov    %al,(%ecx)
5d04ce:	41                   	inc    %ecx
5d04cf:	83 6d 0c 01          	subl   $0x1,0xc(%ebp)
5d04d3:	b8 01 00 00 00       	mov    $0x1,%eax
5d04d8:	89 4d 08             	mov    %ecx,0x8(%ebp)
5d04db:	0f 85 36 ff ff ff    	jne    0x5d0417
5d04e1:	5f                   	pop    %edi
5d04e2:	5e                   	pop    %esi
5d04e3:	5b                   	pop    %ebx
5d04e4:	5d                   	pop    %ebp
5d04e5:	c2 08 00             	ret    $0x8
5d04e8:	cc                   	int3
5d04e9:	cc                   	int3
5d04ea:	cc                   	int3
5d04eb:	cc                   	int3
5d04ec:	cc                   	int3
5d04ed:	cc                   	int3
5d04ee:	cc                   	int3
5d04ef:	cc                   	int3
5d04f0:	55                   	push   %ebp
5d04f1:	8b ec                	mov    %esp,%ebp
5d04f3:	51                   	push   %ecx
5d04f4:	e8 27 fe ff ff       	call   0x5d0320
5d04f9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d04fc:	db 45 fc             	fildl  -0x4(%ebp)
5d04ff:	d9 5d fc             	fstps  -0x4(%ebp)
5d0502:	d9 45 fc             	flds   -0x4(%ebp)
5d0505:	dc 0d 88 0b 67 00    	fmull  0x670b88
5d050b:	d9 5d fc             	fstps  -0x4(%ebp)
5d050e:	dd 05 90 0b 67 00    	fldl   0x670b90
5d0514:	d9 45 fc             	flds   -0x4(%ebp)
5d0517:	db f1                	fcomi  %st(1),%st
5d0519:	dd d9                	fstp   %st(1)
5d051b:	76 0c                	jbe    0x5d0529
5d051d:	dd d8                	fstp   %st(0)
5d051f:	c7 45 fc fe ff 7f 3f 	movl   $0x3f7ffffe,-0x4(%ebp)
5d0526:	d9 45 fc             	flds   -0x4(%ebp)
5d0529:	d9 45 08             	flds   0x8(%ebp)
5d052c:	d9 45 0c             	flds   0xc(%ebp)
5d052f:	d8 e1                	fsub   %st(1),%st
5d0531:	de ca                	fmulp  %st,%st(2)
5d0533:	de c1                	faddp  %st,%st(1)
5d0535:	d9 5d 08             	fstps  0x8(%ebp)
5d0538:	d9 45 08             	flds   0x8(%ebp)
5d053b:	8b e5                	mov    %ebp,%esp
5d053d:	5d                   	pop    %ebp
5d053e:	c2 08 00             	ret    $0x8
5d0541:	cc                   	int3
5d0542:	cc                   	int3
5d0543:	cc                   	int3
5d0544:	cc                   	int3
5d0545:	cc                   	int3
5d0546:	cc                   	int3
5d0547:	cc                   	int3
5d0548:	cc                   	int3
5d0549:	cc                   	int3
5d054a:	cc                   	int3
5d054b:	cc                   	int3
5d054c:	cc                   	int3
5d054d:	cc                   	int3
5d054e:	cc                   	int3
5d054f:	cc                   	int3
5d0550:	55                   	push   %ebp
5d0551:	8b ec                	mov    %esp,%ebp
5d0553:	51                   	push   %ecx
5d0554:	8b 45 0c             	mov    0xc(%ebp),%eax
5d0557:	53                   	push   %ebx
5d0558:	8b d9                	mov    %ecx,%ebx
5d055a:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d055d:	2b c1                	sub    %ecx,%eax
5d055f:	56                   	push   %esi
5d0560:	8d 70 01             	lea    0x1(%eax),%esi
5d0563:	89 75 fc             	mov    %esi,-0x4(%ebp)
5d0566:	83 fe 01             	cmp    $0x1,%esi
5d0569:	0f 86 f1 00 00 00    	jbe    0x5d0660
5d056f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5d0574:	0f 87 e6 00 00 00    	ja     0x5d0660
5d057a:	33 d2                	xor    %edx,%edx
5d057c:	b8 00 00 00 80       	mov    $0x80000000,%eax
5d0581:	f7 f6                	div    %esi
5d0583:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5d0588:	2b c2                	sub    %edx,%eax