5094bc:	cc                   	int3
5094bd:	cc                   	int3
5094be:	cc                   	int3
5094bf:	cc                   	int3
5094c0:	8b 44 24 08          	mov    0x8(%esp),%eax
5094c4:	6a 02                	push   $0x2
5094c6:	99                   	cltd
5094c7:	52                   	push   %edx
5094c8:	50                   	push   %eax
5094c9:	ff 74 24 10          	push   0x10(%esp)
5094cd:	e8 1e 02 00 00       	call   0x5096f0
5094d2:	83 c4 10             	add    $0x10,%esp
5094d5:	c3                   	ret
5094d6:	cc                   	int3
5094d7:	cc                   	int3
5094d8:	cc                   	int3
5094d9:	cc                   	int3
5094da:	cc                   	int3
5094db:	cc                   	int3
5094dc:	cc                   	int3
5094dd:	cc                   	int3
5094de:	cc                   	int3
5094df:	cc                   	int3
5094e0:	6a 02                	push   $0x2
5094e2:	ff 74 24 0c          	push   0xc(%esp)
5094e6:	ff 74 24 0c          	push   0xc(%esp)
5094ea:	e8 b1 02 00 00       	call   0x5097a0
5094ef:	83 c4 0c             	add    $0xc,%esp
5094f2:	c3                   	ret
5094f3:	cc                   	int3
5094f4:	cc                   	int3
5094f5:	cc                   	int3
5094f6:	cc                   	int3
5094f7:	cc                   	int3
5094f8:	cc                   	int3
5094f9:	cc                   	int3
5094fa:	cc                   	int3
5094fb:	cc                   	int3
5094fc:	cc                   	int3
5094fd:	cc                   	int3
5094fe:	cc                   	int3
5094ff:	cc                   	int3
509500:	6a 02                	push   $0x2
509502:	ff 74 24 0c          	push   0xc(%esp)
509506:	ff 74 24 0c          	push   0xc(%esp)
50950a:	e8 21 03 00 00       	call   0x509830
50950f:	83 c4 0c             	add    $0xc,%esp
509512:	c3                   	ret
509513:	cc                   	int3
509514:	cc                   	int3
509515:	cc                   	int3
509516:	cc                   	int3
509517:	cc                   	int3
509518:	cc                   	int3
509519:	cc                   	int3
50951a:	cc                   	int3
50951b:	cc                   	int3
50951c:	cc                   	int3
50951d:	cc                   	int3
50951e:	cc                   	int3
50951f:	cc                   	int3
509520:	b8 08 00 00 00       	mov    $0x8,%eax
509525:	e8 86 82 0c 00       	call   0x5d17b0
50952a:	53                   	push   %ebx
50952b:	8b 5c 24 18          	mov    0x18(%esp),%ebx
50952f:	83 fb 08             	cmp    $0x8,%ebx
509532:	76 25                	jbe    0x509559
509534:	68 d5 00 00 00       	push   $0xd5
509539:	68 14 ae 62 00       	push   $0x62ae14
50953e:	68 df 00 00 00       	push   $0xdf
509543:	68 e1 00 00 00       	push   $0xe1
509548:	6a 0d                	push   $0xd
50954a:	e8 31 fa fc ff       	call   0x4d8f80
50954f:	83 c4 14             	add    $0x14,%esp
509552:	33 c0                	xor    %eax,%eax
509554:	5b                   	pop    %ebx
509555:	83 c4 08             	add    $0x8,%esp
509558:	c3                   	ret
509559:	55                   	push   %ebp
50955a:	8b 6c 24 18          	mov    0x18(%esp),%ebp
50955e:	85 ed                	test   %ebp,%ebp
509560:	75 08                	jne    0x50956a
509562:	5d                   	pop    %ebp
509563:	33 c0                	xor    %eax,%eax
509565:	5b                   	pop    %ebx
509566:	83 c4 08             	add    $0x8,%esp
509569:	c3                   	ret
50956a:	56                   	push   %esi
50956b:	0f 57 c0             	xorps  %xmm0,%xmm0
50956e:	57                   	push   %edi
50956f:	66 0f 13 44 24 10    	movlpd %xmm0,0x10(%esp)
509575:	33 ff                	xor    %edi,%edi
509577:	8b 74 24 14          	mov    0x14(%esp),%esi
50957b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
50957f:	85 db                	test   %ebx,%ebx
509581:	74 15                	je     0x509598
509583:	0f b6 04 2f          	movzbl (%edi,%ebp,1),%eax
509587:	47                   	inc    %edi
509588:	0f a4 ce 08          	shld   $0x8,%ecx,%esi
50958c:	99                   	cltd
50958d:	c1 e1 08             	shl    $0x8,%ecx
509590:	0b f2                	or     %edx,%esi
509592:	0b c8                	or     %eax,%ecx
509594:	3b fb                	cmp    %ebx,%edi
509596:	72 eb                	jb     0x509583
509598:	8b 44 24 1c          	mov    0x1c(%esp),%eax
50959c:	5f                   	pop    %edi
50959d:	89 70 04             	mov    %esi,0x4(%eax)
5095a0:	5e                   	pop    %esi
5095a1:	5d                   	pop    %ebp
5095a2:	89 08                	mov    %ecx,(%eax)
5095a4:	b8 01 00 00 00       	mov    $0x1,%eax
5095a9:	5b                   	pop    %ebx
5095aa:	83 c4 08             	add    $0x8,%esp
5095ad:	c3                   	ret
5095ae:	cc                   	int3
5095af:	cc                   	int3
5095b0:	b8 08 00 00 00       	mov    $0x8,%eax
5095b5:	e8 f6 81 0c 00       	call   0x5d17b0
5095ba:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5095be:	85 c9                	test   %ecx,%ecx
5095c0:	75 21                	jne    0x5095e3
5095c2:	68 42 01 00 00       	push   $0x142
5095c7:	68 14 ae 62 00       	push   $0x62ae14
5095cc:	6a 43                	push   $0x43
5095ce:	68 e3 00 00 00       	push   $0xe3
5095d3:	6a 0d                	push   $0xd
5095d5:	e8 a6 f9 fc ff       	call   0x4d8f80
5095da:	83 c4 14             	add    $0x14,%esp
5095dd:	33 c0                	xor    %eax,%eax
5095df:	83 c4 08             	add    $0x8,%esp
5095e2:	c3                   	ret
5095e3:	56                   	push   %esi
5095e4:	8b 71 04             	mov    0x4(%ecx),%esi
5095e7:	8b c6                	mov    %esi,%eax
5095e9:	25 ff fe ff ff       	and    $0xfffffeff,%eax
5095ee:	3b 44 24 18          	cmp    0x18(%esp),%eax
5095f2:	74 25                	je     0x509619
5095f4:	68 46 01 00 00       	push   $0x146
5095f9:	68 14 ae 62 00       	push   $0x62ae14
5095fe:	68 e1 00 00 00       	push   $0xe1
509603:	68 e3 00 00 00       	push   $0xe3
509608:	6a 0d                	push   $0xd
50960a:	e8 71 f9 fc ff       	call   0x4d8f80
50960f:	83 c4 14             	add    $0x14,%esp
509612:	33 c0                	xor    %eax,%eax
509614:	5e                   	pop    %esi
509615:	83 c4 08             	add    $0x8,%esp
509618:	c3                   	ret
509619:	ff 31                	push   (%ecx)
50961b:	8d 44 24 08          	lea    0x8(%esp),%eax
50961f:	81 e6 00 01 00 00    	and    $0x100,%esi
509625:	ff 71 08             	push   0x8(%ecx)
509628:	50                   	push   %eax
509629:	e8 f2 fe ff ff       	call   0x509520
50962e:	83 c4 0c             	add    $0xc,%esp
509631:	85 c0                	test   %eax,%eax
509633:	0f 84 a7 00 00 00    	je     0x5096e0
509639:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50963d:	85 f6                	test   %esi,%esi
50963f:	74 5b                	je     0x50969c
509641:	8b 54 24 04          	mov    0x4(%esp),%edx
509645:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
50964b:	77 21                	ja     0x50966e
50964d:	72 05                	jb     0x509654
50964f:	83 fa ff             	cmp    $0xffffffff,%edx
509652:	77 1a                	ja     0x50966e
509654:	8b 44 24 10          	mov    0x10(%esp),%eax
509658:	f7 da                	neg    %edx
50965a:	5e                   	pop    %esi
50965b:	83 d1 00             	adc    $0x0,%ecx
50965e:	f7 d9                	neg    %ecx
509660:	89 10                	mov    %edx,(%eax)
509662:	89 48 04             	mov    %ecx,0x4(%eax)
509665:	b8 01 00 00 00       	mov    $0x1,%eax
50966a:	83 c4 08             	add    $0x8,%esp
50966d:	c3                   	ret
50966e:	85 d2                	test   %edx,%edx
509670:	75 19                	jne    0x50968b
509672:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
509678:	75 11                	jne    0x50968b
50967a:	8b 44 24 10          	mov    0x10(%esp),%eax
50967e:	5e                   	pop    %esi
50967f:	89 10                	mov    %edx,(%eax)
509681:	89 48 04             	mov    %ecx,0x4(%eax)
509684:	8d 42 01             	lea    0x1(%edx),%eax
509687:	83 c4 08             	add    $0x8,%esp
50968a:	c3                   	ret
50968b:	68 09 01 00 00       	push   $0x109
509690:	68 14 ae 62 00       	push   $0x62ae14
509695:	68 e0 00 00 00       	push   $0xe0
50969a:	eb 35                	jmp    0x5096d1
50969c:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
5096a2:	77 1e                	ja     0x5096c2
5096a4:	8b 54 24 04          	mov    0x4(%esp),%edx
5096a8:	72 05                	jb     0x5096af
5096aa:	83 fa ff             	cmp    $0xffffffff,%edx
5096ad:	77 13                	ja     0x5096c2
5096af:	8b 44 24 10          	mov    0x10(%esp),%eax
5096b3:	5e                   	pop    %esi
5096b4:	89 10                	mov    %edx,(%eax)
5096b6:	89 48 04             	mov    %ecx,0x4(%eax)
5096b9:	b8 01 00 00 00       	mov    $0x1,%eax
5096be:	83 c4 08             	add    $0x8,%esp
5096c1:	c3                   	ret
5096c2:	68 10 01 00 00       	push   $0x110
5096c7:	68 14 ae 62 00       	push   $0x62ae14
5096cc:	68 df 00 00 00       	push   $0xdf
5096d1:	68 e0 00 00 00       	push   $0xe0
5096d6:	6a 0d                	push   $0xd
5096d8:	e8 a3 f8 fc ff       	call   0x4d8f80
5096dd:	83 c4 14             	add    $0x14,%esp
5096e0:	33 c0                	xor    %eax,%eax
5096e2:	5e                   	pop    %esi
5096e3:	83 c4 08             	add    $0x8,%esp
5096e6:	c3                   	ret
5096e7:	cc                   	int3
5096e8:	cc                   	int3
5096e9:	cc                   	int3
5096ea:	cc                   	int3
5096eb:	cc                   	int3
5096ec:	cc                   	int3
5096ed:	cc                   	int3
5096ee:	cc                   	int3
5096ef:	cc                   	int3
5096f0:	b8 0c 00 00 00       	mov    $0xc,%eax
5096f5:	e8 b6 80 0c 00       	call   0x5d17b0
5096fa:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5096ff:	33 c4                	xor    %esp,%eax
509701:	89 44 24 08          	mov    %eax,0x8(%esp)
509705:	8b 44 24 18          	mov    0x18(%esp),%eax
509709:	8b 54 24 14          	mov    0x14(%esp),%edx
50970d:	56                   	push   %esi
50970e:	57                   	push   %edi
50970f:	8b 7c 24 18          	mov    0x18(%esp),%edi
509713:	85 c0                	test   %eax,%eax
509715:	7f 36                	jg     0x50974d
509717:	7c 04                	jl     0x50971d
509719:	85 d2                	test   %edx,%edx
50971b:	73 30                	jae    0x50974d
50971d:	f7 da                	neg    %edx
50971f:	be 08 00 00 00       	mov    $0x8,%esi
509724:	83 d0 00             	adc    $0x0,%eax
509727:	f7 d8                	neg    %eax
509729:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
509730:	4e                   	dec    %esi
509731:	88 54 34 08          	mov    %dl,0x8(%esp,%esi,1)
509735:	0f ac c2 08          	shrd   $0x8,%eax,%edx
509739:	c1 e8 08             	shr    $0x8,%eax
50973c:	8b ca                	mov    %edx,%ecx
50973e:	0b c8                	or     %eax,%ecx
509740:	75 ee                	jne    0x509730
509742:	8b 44 24 24          	mov    0x24(%esp),%eax
509746:	0d 00 01 00 00       	or     $0x100,%eax
50974b:	eb 20                	jmp    0x50976d
50974d:	be 08 00 00 00       	mov    $0x8,%esi
509752:	4e                   	dec    %esi
509753:	88 54 34 08          	mov    %dl,0x8(%esp,%esi,1)
509757:	0f ac c2 08          	shrd   $0x8,%eax,%edx
50975b:	c1 e8 08             	shr    $0x8,%eax
50975e:	8b ca                	mov    %edx,%ecx
509760:	0b c8                	or     %eax,%ecx
509762:	75 ee                	jne    0x509752
509764:	8b 44 24 24          	mov    0x24(%esp),%eax
509768:	25 ff fe ff ff       	and    $0xfffffeff,%eax
50976d:	89 47 04             	mov    %eax,0x4(%edi)
509770:	b8 08 00 00 00       	mov    $0x8,%eax
509775:	2b c6                	sub    %esi,%eax
509777:	50                   	push   %eax
509778:	8d 44 24 0c          	lea    0xc(%esp),%eax
50977c:	03 c6                	add    %esi,%eax
50977e:	50                   	push   %eax
50977f:	57                   	push   %edi
509780:	e8 bb 0a 00 00       	call   0x50a240
509785:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
509789:	83 c4 0c             	add    $0xc,%esp
50978c:	5f                   	pop    %edi
50978d:	5e                   	pop    %esi
50978e:	33 cc                	xor    %esp,%ecx
509790:	e8 91 82 0c 00       	call   0x5d1a26
509795:	83 c4 0c             	add    $0xc,%esp
509798:	c3                   	ret
509799:	cc                   	int3
50979a:	cc                   	int3
50979b:	cc                   	int3
50979c:	cc                   	int3
50979d:	cc                   	int3
50979e:	cc                   	int3
50979f:	cc                   	int3
5097a0:	56                   	push   %esi
5097a1:	8b 74 24 08          	mov    0x8(%esp),%esi
5097a5:	8b 46 04             	mov    0x4(%esi),%eax
5097a8:	25 ff fe ff ff       	and    $0xfffffeff,%eax
5097ad:	3b 44 24 10          	cmp    0x10(%esp),%eax
5097b1:	74 22                	je     0x5097d5
5097b3:	68 f3 01 00 00       	push   $0x1f3
5097b8:	68 14 ae 62 00       	push   $0x62ae14
5097bd:	68 e1 00 00 00       	push   $0xe1
5097c2:	68 e4 00 00 00       	push   $0xe4
5097c7:	6a 0d                	push   $0xd
5097c9:	e8 b2 f7 fc ff       	call   0x4d8f80
5097ce:	83 c4 14             	add    $0x14,%esp
5097d1:	33 c0                	xor    %eax,%eax
5097d3:	5e                   	pop    %esi
5097d4:	c3                   	ret
5097d5:	57                   	push   %edi
5097d6:	ff 74 24 10          	push   0x10(%esp)
5097da:	ff 36                	push   (%esi)
5097dc:	ff 76 08             	push   0x8(%esi)
5097df:	e8 8c fe fc ff       	call   0x4d9670
5097e4:	8b f8                	mov    %eax,%edi
5097e6:	83 c4 0c             	add    $0xc,%esp
5097e9:	85 ff                	test   %edi,%edi
5097eb:	75 20                	jne    0x50980d
5097ed:	68 f9 01 00 00       	push   $0x1f9
5097f2:	68 14 ae 62 00       	push   $0x62ae14
5097f7:	6a 69                	push   $0x69
5097f9:	68 e4 00 00 00       	push   $0xe4
5097fe:	6a 0d                	push   $0xd
509800:	e8 7b f7 fc ff       	call   0x4d8f80
509805:	83 c4 14             	add    $0x14,%esp
509808:	33 c0                	xor    %eax,%eax
50980a:	5f                   	pop    %edi
50980b:	5e                   	pop    %esi
50980c:	c3                   	ret
50980d:	f7 46 04 00 01 00 00 	testl  $0x100,0x4(%esi)
509814:	74 0b                	je     0x509821
509816:	6a 01                	push   $0x1
509818:	57                   	push   %edi
509819:	e8 92 08 fd ff       	call   0x4da0b0
50981e:	83 c4 08             	add    $0x8,%esp
509821:	8b c7                	mov    %edi,%eax
509823:	5f                   	pop    %edi
509824:	5e                   	pop    %esi
509825:	c3                   	ret
509826:	cc                   	int3
509827:	cc                   	int3
509828:	cc                   	int3
509829:	cc                   	int3
50982a:	cc                   	int3
50982b:	cc                   	int3
50982c:	cc                   	int3
50982d:	cc                   	int3
50982e:	cc                   	int3
50982f:	cc                   	int3
509830:	53                   	push   %ebx
509831:	55                   	push   %ebp
509832:	56                   	push   %esi
509833:	57                   	push   %edi
509834:	8b 7c 24 18          	mov    0x18(%esp),%edi