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
5d058a:	57                   	push   %edi
5d058b:	8b 7b 08             	mov    0x8(%ebx),%edi
5d058e:	89 45 0c             	mov    %eax,0xc(%ebp)
5d0591:	b8 01 00 00 00       	mov    $0x1,%eax
5d0596:	8b 4b 04             	mov    0x4(%ebx),%ecx
5d0599:	85 c9                	test   %ecx,%ecx
5d059b:	7e 04                	jle    0x5d05a1
5d059d:	85 ff                	test   %edi,%edi
5d059f:	75 52                	jne    0x5d05f3
5d05a1:	f7 d9                	neg    %ecx
5d05a3:	8d bb a8 00 00 00    	lea    0xa8(%ebx),%edi
5d05a9:	83 f9 01             	cmp    $0x1,%ecx
5d05ac:	be 27 00 00 00       	mov    $0x27,%esi
5d05b1:	0f 4c c8             	cmovl  %eax,%ecx
5d05b4:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d05b9:	f7 e9                	imul   %ecx
5d05bb:	03 d1                	add    %ecx,%edx
5d05bd:	c1 fa 10             	sar    $0x10,%edx
5d05c0:	8b c2                	mov    %edx,%eax
5d05c2:	c1 e8 1f             	shr    $0x1f,%eax
5d05c5:	03 c2                	add    %edx,%eax
5d05c7:	69 d1 a7 41 00 00    	imul   $0x41a7,%ecx,%edx
5d05cd:	69 c0 ff ff ff 7f    	imul   $0x7fffffff,%eax,%eax
5d05d3:	2b d0                	sub    %eax,%edx
5d05d5:	8d 8a ff ff ff 7f    	lea    0x7fffffff(%edx),%ecx
5d05db:	0f 49 ca             	cmovns %edx,%ecx
5d05de:	83 fe 20             	cmp    $0x20,%esi
5d05e1:	73 02                	jae    0x5d05e5
5d05e3:	89 0f                	mov    %ecx,(%edi)
5d05e5:	83 ef 04             	sub    $0x4,%edi
5d05e8:	83 ee 01             	sub    $0x1,%esi
5d05eb:	79 c7                	jns    0x5d05b4
5d05ed:	8b 7b 0c             	mov    0xc(%ebx),%edi
5d05f0:	89 7b 08             	mov    %edi,0x8(%ebx)
5d05f3:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d05f8:	f7 e9                	imul   %ecx
5d05fa:	03 d1                	add    %ecx,%edx
5d05fc:	69 c9 a7 41 00 00    	imul   $0x41a7,%ecx,%ecx
5d0602:	c1 fa 10             	sar    $0x10,%edx
5d0605:	8b c2                	mov    %edx,%eax
5d0607:	c1 e8 1f             	shr    $0x1f,%eax
5d060a:	03 c2                	add    %edx,%eax
5d060c:	69 c0 ff ff ff 7f    	imul   $0x7fffffff,%eax,%eax
5d0612:	2b c8                	sub    %eax,%ecx
5d0614:	8b c7                	mov    %edi,%eax
5d0616:	99                   	cltd
5d0617:	8d b1 ff ff ff 7f    	lea    0x7fffffff(%ecx),%esi
5d061d:	0f 49 f1             	cmovns %ecx,%esi
5d0620:	81 e2 ff ff ff 03    	and    $0x3ffffff,%edx
5d0626:	03 c2                	add    %edx,%eax
5d0628:	c1 f8 1a             	sar    $0x1a,%eax
5d062b:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5d062e:	8b 41 0c             	mov    0xc(%ecx),%eax
5d0631:	89 43 08             	mov    %eax,0x8(%ebx)
5d0634:	b8 01 00 00 00       	mov    $0x1,%eax
5d0639:	89 71 0c             	mov    %esi,0xc(%ecx)
5d063c:	8b 7b 08             	mov    0x8(%ebx),%edi
5d063f:	89 73 04             	mov    %esi,0x4(%ebx)
5d0642:	3b 7d 0c             	cmp    0xc(%ebp),%edi
5d0645:	0f 87 4b ff ff ff    	ja     0x5d0596
5d064b:	8b c7                	mov    %edi,%eax
5d064d:	33 d2                	xor    %edx,%edx
5d064f:	f7 75 fc             	divl   -0x4(%ebp)
5d0652:	5f                   	pop    %edi
5d0653:	03 55 08             	add    0x8(%ebp),%edx
5d0656:	5e                   	pop    %esi
5d0657:	8b c2                	mov    %edx,%eax
5d0659:	5b                   	pop    %ebx
5d065a:	8b e5                	mov    %ebp,%esp
5d065c:	5d                   	pop    %ebp
5d065d:	c2 08 00             	ret    $0x8
5d0660:	5e                   	pop    %esi
5d0661:	8b c1                	mov    %ecx,%eax
5d0663:	5b                   	pop    %ebx
5d0664:	8b e5                	mov    %ebp,%esp
5d0666:	5d                   	pop    %ebp
5d0667:	c2 08 00             	ret    $0x8
5d066a:	cc                   	int3
5d066b:	cc                   	int3
5d066c:	cc                   	int3
5d066d:	cc                   	int3
5d066e:	cc                   	int3
5d066f:	cc                   	int3
5d0670:	55                   	push   %ebp
5d0671:	8b ec                	mov    %esp,%ebp
5d0673:	8b 45 08             	mov    0x8(%ebp),%eax
5d0676:	99                   	cltd
5d0677:	33 c2                	xor    %edx,%eax
5d0679:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
5d0680:	2b c2                	sub    %edx,%eax
5d0682:	f7 d8                	neg    %eax
5d0684:	89 41 04             	mov    %eax,0x4(%ecx)
5d0687:	5d                   	pop    %ebp
5d0688:	c2 04 00             	ret    $0x4
5d068b:	cc                   	int3
5d068c:	cc                   	int3
5d068d:	cc                   	int3
5d068e:	cc                   	int3
5d068f:	cc                   	int3
5d0690:	55                   	push   %ebp
5d0691:	8b ec                	mov    %esp,%ebp
5d0693:	51                   	push   %ecx
5d0694:	8b 45 08             	mov    0x8(%ebp),%eax
5d0697:	8b 55 10             	mov    0x10(%ebp),%edx
5d069a:	53                   	push   %ebx
5d069b:	56                   	push   %esi
5d069c:	8b 75 0c             	mov    0xc(%ebp),%esi
5d069f:	8b ce                	mov    %esi,%ecx
5d06a1:	57                   	push   %edi
5d06a2:	0f b6 7d 14          	movzbl 0x14(%ebp),%edi
5d06a6:	c1 e9 02             	shr    $0x2,%ecx
5d06a9:	4f                   	dec    %edi
5d06aa:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d06ad:	81 cf df df df df    	or     $0xdfdfdfdf,%edi
5d06b3:	8d 1c 88             	lea    (%eax,%ecx,4),%ebx
5d06b6:	f7 d9                	neg    %ecx
5d06b8:	89 5d 14             	mov    %ebx,0x14(%ebp)
5d06bb:	0f 84 8d 00 00 00    	je     0x5d074e
5d06c1:	f6 c3 03             	test   $0x3,%bl
5d06c4:	75 33                	jne    0x5d06f9
5d06c6:	eb 08                	jmp    0x5d06d0
5d06c8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
5d06cf:	90                   	nop
5d06d0:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
5d06d3:	23 c7                	and    %edi,%eax
5d06d5:	69 c0 51 2d 9e cc    	imul   $0xcc9e2d51,%eax,%eax
5d06db:	c1 c8 11             	ror    $0x11,%eax
5d06de:	69 c0 93 35 87 1b    	imul   $0x1b873593,%eax,%eax
5d06e4:	33 d0                	xor    %eax,%edx
5d06e6:	c1 ca 13             	ror    $0x13,%edx
5d06e9:	81 c2 14 af dd fa    	add    $0xfaddaf14,%edx
5d06ef:	8d 14 92             	lea    (%edx,%edx,4),%edx
5d06f2:	83 c1 01             	add    $0x1,%ecx
5d06f5:	75 d9                	jne    0x5d06d0
5d06f7:	eb 55                	jmp    0x5d074e
5d06f9:	8d 73 02             	lea    0x2(%ebx),%esi
5d06fc:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5d06ff:	8d 34 8e             	lea    (%esi,%ecx,4),%esi
5d0702:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
5d0706:	8d 76 04             	lea    0x4(%esi),%esi
5d0709:	0f b6 46 fc          	movzbl -0x4(%esi),%eax
5d070d:	c1 e1 08             	shl    $0x8,%ecx
5d0710:	0b c8                	or     %eax,%ecx
5d0712:	0f b6 46 fb          	movzbl -0x5(%esi),%eax
5d0716:	c1 e1 08             	shl    $0x8,%ecx
5d0719:	0b c8                	or     %eax,%ecx
5d071b:	0f b6 46 fa          	movzbl -0x6(%esi),%eax
5d071f:	c1 e1 08             	shl    $0x8,%ecx
5d0722:	0b c8                	or     %eax,%ecx
5d0724:	23 cf                	and    %edi,%ecx
5d0726:	69 c1 51 2d 9e cc    	imul   $0xcc9e2d51,%ecx,%eax
5d072c:	c1 c8 11             	ror    $0x11,%eax
5d072f:	69 c0 93 35 87 1b    	imul   $0x1b873593,%eax,%eax
5d0735:	33 d0                	xor    %eax,%edx
5d0737:	c1 ca 13             	ror    $0x13,%edx
5d073a:	81 c2 14 af dd fa    	add    $0xfaddaf14,%edx
5d0740:	8d 14 92             	lea    (%edx,%edx,4),%edx
5d0743:	83 eb 01             	sub    $0x1,%ebx
5d0746:	75 ba                	jne    0x5d0702
5d0748:	8b 5d 14             	mov    0x14(%ebp),%ebx
5d074b:	8b 75 0c             	mov    0xc(%ebp),%esi
5d074e:	8b c6                	mov    %esi,%eax
5d0750:	33 c9                	xor    %ecx,%ecx
5d0752:	83 e0 03             	and    $0x3,%eax
5d0755:	83 e8 01             	sub    $0x1,%eax
5d0758:	74 1a                	je     0x5d0774
5d075a:	83 e8 01             	sub    $0x1,%eax
5d075d:	74 0c                	je     0x5d076b
5d075f:	83 e8 01             	sub    $0x1,%eax
5d0762:	75 28                	jne    0x5d078c
5d0764:	0f b6 4b 02          	movzbl 0x2(%ebx),%ecx
5d0768:	c1 e1 10             	shl    $0x10,%ecx
5d076b:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
5d076f:	c1 e0 08             	shl    $0x8,%eax
5d0772:	33 c8                	xor    %eax,%ecx