51060c:	cc                   	int3
51060d:	cc                   	int3
51060e:	cc                   	int3
51060f:	cc                   	int3
510610:	55                   	push   %ebp
510611:	8b ec                	mov    %esp,%ebp
510613:	56                   	push   %esi
510614:	8b 75 08             	mov    0x8(%ebp),%esi
510617:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
51061b:	75 27                	jne    0x510644
51061d:	8b 4d 10             	mov    0x10(%ebp),%ecx
510620:	8b 45 0c             	mov    0xc(%ebp),%eax
510623:	85 c9                	test   %ecx,%ecx
510625:	7c 22                	jl     0x510649
510627:	7f 10                	jg     0x510639
510629:	3b 46 08             	cmp    0x8(%esi),%eax
51062c:	76 1b                	jbe    0x510649
51062e:	85 c9                	test   %ecx,%ecx
510630:	7c 17                	jl     0x510649
510632:	7f 05                	jg     0x510639
510634:	3b 46 0c             	cmp    0xc(%esi),%eax
510637:	76 10                	jbe    0x510649
510639:	6a 12                	push   $0x12
51063b:	56                   	push   %esi
51063c:	e8 0f 6e 00 00       	call   0x517450
510641:	83 c4 08             	add    $0x8,%esp
510644:	33 c0                	xor    %eax,%eax
510646:	5e                   	pop    %esi
510647:	5d                   	pop    %ebp
510648:	c3                   	ret
510649:	8b 16                	mov    (%esi),%edx
51064b:	57                   	push   %edi
51064c:	51                   	push   %ecx
51064d:	50                   	push   %eax
51064e:	85 d2                	test   %edx,%edx
510650:	74 0b                	je     0x51065d
510652:	52                   	push   %edx
510653:	e8 88 0d 01 00       	call   0x5213e0
510658:	83 c4 0c             	add    $0xc,%esp
51065b:	eb 08                	jmp    0x510665
51065d:	e8 fe 08 02 00       	call   0x530f60
510662:	83 c4 08             	add    $0x8,%esp
510665:	8b f8                	mov    %eax,%edi
510667:	85 ff                	test   %edi,%edi
510669:	75 3a                	jne    0x5106a5
51066b:	c6 46 14 07          	movb   $0x7,0x14(%esi)
51066f:	39 46 0c             	cmp    %eax,0xc(%esi)
510672:	74 31                	je     0x5106a5
510674:	f6 46 15 04          	testb  $0x4,0x15(%esi)
510678:	74 16                	je     0x510690
51067a:	8b 46 04             	mov    0x4(%esi),%eax
51067d:	85 c0                	test   %eax,%eax
51067f:	74 0b                	je     0x51068c
510681:	50                   	push   %eax
510682:	ff 36                	push   (%esi)
510684:	e8 e7 0c 01 00       	call   0x521370
510689:	83 c4 08             	add    $0x8,%esp
51068c:	80 66 15 fb          	andb   $0xfb,0x15(%esi)
510690:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
510697:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
51069e:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5106a5:	8b c7                	mov    %edi,%eax
5106a7:	5f                   	pop    %edi
5106a8:	5e                   	pop    %esi
5106a9:	5d                   	pop    %ebp
5106aa:	c3                   	ret
5106ab:	cc                   	int3
5106ac:	cc                   	int3
5106ad:	cc                   	int3
5106ae:	cc                   	int3
5106af:	cc                   	int3
5106b0:	55                   	push   %ebp
5106b1:	8b ec                	mov    %esp,%ebp
5106b3:	56                   	push   %esi
5106b4:	8b 75 0c             	mov    0xc(%ebp),%esi
5106b7:	80 3e a4             	cmpb   $0xa4,(%esi)
5106ba:	74 05                	je     0x5106c1
5106bc:	33 c0                	xor    %eax,%eax
5106be:	5e                   	pop    %esi
5106bf:	5d                   	pop    %ebp
5106c0:	c3                   	ret
5106c1:	f6 46 04 09          	testb  $0x9,0x4(%esi)
5106c5:	75 f5                	jne    0x5106bc
5106c7:	8b 45 08             	mov    0x8(%ebp),%eax
5106ca:	33 d2                	xor    %edx,%edx
5106cc:	53                   	push   %ebx
5106cd:	8b 40 18             	mov    0x18(%eax),%eax
5106d0:	89 45 0c             	mov    %eax,0xc(%ebp)
5106d3:	8b 58 04             	mov    0x4(%eax),%ebx
5106d6:	85 db                	test   %ebx,%ebx
5106d8:	7e 73                	jle    0x51074d
5106da:	57                   	push   %edi
5106db:	8b 78 0c             	mov    0xc(%eax),%edi
5106de:	66 90                	xchg   %ax,%ax
5106e0:	8b 0f                	mov    (%edi),%ecx
5106e2:	3b ce                	cmp    %esi,%ecx
5106e4:	74 12                	je     0x5106f8
5106e6:	8b 41 1c             	mov    0x1c(%ecx),%eax
5106e9:	3b 46 1c             	cmp    0x1c(%esi),%eax
5106ec:	75 0a                	jne    0x5106f8
5106ee:	66 8b 41 20          	mov    0x20(%ecx),%ax
5106f2:	66 3b 46 20          	cmp    0x20(%esi),%ax
5106f6:	74 12                	je     0x51070a
5106f8:	42                   	inc    %edx
5106f9:	83 c7 08             	add    $0x8,%edi
5106fc:	3b d3                	cmp    %ebx,%edx
5106fe:	7c e0                	jl     0x5106e0
510700:	5f                   	pop    %edi
510701:	5b                   	pop    %ebx
510702:	b8 01 00 00 00       	mov    $0x1,%eax
510707:	5e                   	pop    %esi
510708:	5d                   	pop    %ebp
510709:	c3                   	ret
51070a:	8b 7d 0c             	mov    0xc(%ebp),%edi
51070d:	ff 47 08             	incl   0x8(%edi)
510710:	8b 46 04             	mov    0x4(%esi),%eax
510713:	25 ff ff 7f ff       	and    $0xff7fffff,%eax
510718:	83 c8 08             	or     $0x8,%eax
51071b:	89 46 04             	mov    %eax,0x4(%esi)
51071e:	8b 47 0c             	mov    0xc(%edi),%eax
510721:	8b 4c d0 04          	mov    0x4(%eax,%edx,8),%ecx
510725:	8b 07                	mov    (%edi),%eax
510727:	85 c9                	test   %ecx,%ecx
510729:	74 1c                	je     0x510747
51072b:	6a 00                	push   $0x0
51072d:	6a 00                	push   $0x0
51072f:	51                   	push   %ecx
510730:	ff 30                	push   (%eax)
510732:	e8 29 01 ff ff       	call   0x500860
510737:	83 c4 10             	add    $0x10,%esp
51073a:	89 46 0c             	mov    %eax,0xc(%esi)
51073d:	b8 01 00 00 00       	mov    $0x1,%eax
510742:	5f                   	pop    %edi
510743:	5b                   	pop    %ebx
510744:	5e                   	pop    %esi
510745:	5d                   	pop    %ebp
510746:	c3                   	ret
510747:	33 c0                	xor    %eax,%eax
510749:	89 46 0c             	mov    %eax,0xc(%esi)
51074c:	5f                   	pop    %edi
51074d:	5b                   	pop    %ebx
51074e:	b8 01 00 00 00       	mov    $0x1,%eax
510753:	5e                   	pop    %esi
510754:	5d                   	pop    %ebp
510755:	c3                   	ret
510756:	cc                   	int3
510757:	cc                   	int3
510758:	cc                   	int3
510759:	cc                   	int3
51075a:	cc                   	int3
51075b:	cc                   	int3
51075c:	cc                   	int3
51075d:	cc                   	int3
51075e:	cc                   	int3
51075f:	cc                   	int3
510760:	55                   	push   %ebp
510761:	8b ec                	mov    %esp,%ebp
510763:	83 ec 34             	sub    $0x34,%esp
510766:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51076b:	33 c5                	xor    %ebp,%eax
51076d:	89 45 fc             	mov    %eax,-0x4(%ebp)
510770:	53                   	push   %ebx
510771:	8b 5d 0c             	mov    0xc(%ebp),%ebx
510774:	56                   	push   %esi
510775:	8b 75 08             	mov    0x8(%ebp),%esi
510778:	57                   	push   %edi
510779:	89 75 cc             	mov    %esi,-0x34(%ebp)
51077c:	33 ff                	xor    %edi,%edi
51077e:	89 75 ec             	mov    %esi,-0x14(%ebp)
510781:	ff 73 24             	push   0x24(%ebx)
510784:	8d 45 ec             	lea    -0x14(%ebp),%eax
510787:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
51078e:	50                   	push   %eax
51078f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
510796:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
51079d:	e8 9e 17 ff ff       	call   0x501f40
5107a2:	83 c4 08             	add    $0x8,%esp
5107a5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
5107a9:	0f 84 35 01 00 00    	je     0x5108e4
5107af:	8d 45 ec             	lea    -0x14(%ebp),%eax
5107b2:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5107b9:	0f 57 c0             	xorps  %xmm0,%xmm0
5107bc:	89 45 e8             	mov    %eax,-0x18(%ebp)
5107bf:	8b 43 24             	mov    0x24(%ebx),%eax
5107c2:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
5107c7:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
5107ce:	0f 11 45 d0          	movups %xmm0,-0x30(%ebp)
5107d2:	89 75 d0             	mov    %esi,-0x30(%ebp)
5107d5:	c7 45 d4 b0 06 51 00 	movl   $0x5106b0,-0x2c(%ebp)
5107dc:	c7 45 d8 e0 db 43 00 	movl   $0x43dbe0,-0x28(%ebp)
5107e3:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5107ea:	85 c0                	test   %eax,%eax
5107ec:	74 0d                	je     0x5107fb
5107ee:	50                   	push   %eax
5107ef:	8d 45 d0             	lea    -0x30(%ebp),%eax
5107f2:	50                   	push   %eax
5107f3:	e8 b8 f7 04 00       	call   0x55ffb0
5107f8:	83 c4 08             	add    $0x8,%esp
5107fb:	8b 45 ec             	mov    -0x14(%ebp),%eax
5107fe:	8b 75 f8             	mov    -0x8(%ebp),%esi
510801:	8b 08                	mov    (%eax),%ecx
510803:	85 f6                	test   %esi,%esi
510805:	0f 84 cf 00 00 00    	je     0x5108da
51080b:	85 c9                	test   %ecx,%ecx
51080d:	74 6b                	je     0x51087a
51080f:	83 b9 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%ecx)
510816:	74 17                	je     0x51082f
510818:	56                   	push   %esi
510819:	51                   	push   %ecx
51081a:	e8 51 8c ff ff       	call   0x509470
51081f:	8b 45 f4             	mov    -0xc(%ebp),%eax
510822:	83 c4 08             	add    $0x8,%esp
510825:	8b 75 cc             	mov    -0x34(%ebp),%esi
510828:	03 f8                	add    %eax,%edi
51082a:	e9 b8 00 00 00       	jmp    0x5108e7
51082f:	3b b1 4c 01 00 00    	cmp    0x14c(%ecx),%esi
510835:	73 43                	jae    0x51087a
510837:	3b b1 44 01 00 00    	cmp    0x144(%ecx),%esi
51083d:	72 1b                	jb     0x51085a
51083f:	8b 81 40 01 00 00    	mov    0x140(%ecx),%eax
510845:	89 06                	mov    %eax,(%esi)
510847:	89 b1 40 01 00 00    	mov    %esi,0x140(%ecx)
51084d:	8b 45 f4             	mov    -0xc(%ebp),%eax
510850:	03 f8                	add    %eax,%edi
510852:	8b 75 cc             	mov    -0x34(%ebp),%esi
510855:	e9 8d 00 00 00       	jmp    0x5108e7
51085a:	3b b1 48 01 00 00    	cmp    0x148(%ecx),%esi
510860:	72 18                	jb     0x51087a
510862:	8b 81 38 01 00 00    	mov    0x138(%ecx),%eax
510868:	89 06                	mov    %eax,(%esi)
51086a:	89 b1 38 01 00 00    	mov    %esi,0x138(%ecx)
510870:	8b 45 f4             	mov    -0xc(%ebp),%eax
510873:	03 f8                	add    %eax,%edi
510875:	8b 75 cc             	mov    -0x34(%ebp),%esi
510878:	eb 6d                	jmp    0x5108e7
51087a:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
510881:	74 4d                	je     0x5108d0
510883:	a1 90 ff 72 00       	mov    0x72ff90,%eax
510888:	85 c0                	test   %eax,%eax
51088a:	74 0a                	je     0x510896
51088c:	50                   	push   %eax
51088d:	ff 15 60 18 72 00    	call   *0x721860
510893:	83 c4 04             	add    $0x4,%esp
510896:	56                   	push   %esi
510897:	ff 15 3c 18 72 00    	call   *0x72183c
51089d:	29 05 20 00 73 00    	sub    %eax,0x730020
5108a3:	ff 0d 44 00 73 00    	decl   0x730044
5108a9:	56                   	push   %esi
5108aa:	ff 15 34 18 72 00    	call   *0x721834
5108b0:	a1 90 ff 72 00       	mov    0x72ff90,%eax
5108b5:	83 c4 08             	add    $0x8,%esp
5108b8:	85 c0                	test   %eax,%eax
5108ba:	74 1e                	je     0x5108da
5108bc:	50                   	push   %eax
5108bd:	ff 15 68 18 72 00    	call   *0x721868
5108c3:	8b 45 f4             	mov    -0xc(%ebp),%eax
5108c6:	83 c4 04             	add    $0x4,%esp
5108c9:	8b 75 cc             	mov    -0x34(%ebp),%esi
5108cc:	03 f8                	add    %eax,%edi
5108ce:	eb 17                	jmp    0x5108e7
5108d0:	56                   	push   %esi
5108d1:	ff 15 34 18 72 00    	call   *0x721834
5108d7:	83 c4 04             	add    $0x4,%esp
5108da:	8b 45 f4             	mov    -0xc(%ebp),%eax
5108dd:	03 f8                	add    %eax,%edi
5108df:	8b 75 cc             	mov    -0x34(%ebp),%esi
5108e2:	eb 03                	jmp    0x5108e7
5108e4:	8b 45 f4             	mov    -0xc(%ebp),%eax
5108e7:	85 c0                	test   %eax,%eax
5108e9:	0f 85 92 fe ff ff    	jne    0x510781
5108ef:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5108f2:	8b c7                	mov    %edi,%eax
5108f4:	5f                   	pop    %edi
5108f5:	5e                   	pop    %esi
5108f6:	33 cd                	xor    %ebp,%ecx
5108f8:	5b                   	pop    %ebx
5108f9:	e8 dc 0b 0d 00       	call   0x5e14da
5108fe:	8b e5                	mov    %ebp,%esp
510900:	5d                   	pop    %ebp
510901:	c3                   	ret
510902:	cc                   	int3
510903:	cc                   	int3
510904:	cc                   	int3
510905:	cc                   	int3
510906:	cc                   	int3
510907:	cc                   	int3
510908:	cc                   	int3
510909:	cc                   	int3
51090a:	cc                   	int3
51090b:	cc                   	int3
51090c:	cc                   	int3
51090d:	cc                   	int3
51090e:	cc                   	int3
51090f:	cc                   	int3
510910:	55                   	push   %ebp
510911:	8b ec                	mov    %esp,%ebp
510913:	83 ec 10             	sub    $0x10,%esp
510916:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51091b:	33 c5                	xor    %ebp,%eax
51091d:	89 45 fc             	mov    %eax,-0x4(%ebp)
510920:	8b 4d 08             	mov    0x8(%ebp),%ecx
510923:	8b 45 14             	mov    0x14(%ebp),%eax
510926:	53                   	push   %ebx
510927:	8b 5d 10             	mov    0x10(%ebp),%ebx
51092a:	56                   	push   %esi
51092b:	57                   	push   %edi
51092c:	8b 7d 0c             	mov    0xc(%ebp),%edi
51092f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
510932:	89 45 f4             	mov    %eax,-0xc(%ebp)
510935:	83 ff 02             	cmp    $0x2,%edi
510938:	73 04                	jae    0x51093e
51093a:	33 f6                	xor    %esi,%esi
51093c:	eb 35                	jmp    0x510973
51093e:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
510943:	8d 77 fe             	lea    -0x2(%edi),%esi
510946:	f7 61 24             	mull   0x24(%ecx)
510949:	8b c6                	mov    %esi,%eax
51094b:	8b ca                	mov    %edx,%ecx
51094d:	33 d2                	xor    %edx,%edx
51094f:	c1 e9 02             	shr    $0x2,%ecx
510952:	41                   	inc    %ecx
510953:	f7 f1                	div    %ecx
510955:	a1 18 19 72 00       	mov    0x721918,%eax
51095a:	2b f2                	sub    %edx,%esi
51095c:	33 d2                	xor    %edx,%edx
51095e:	8d 4e 02             	lea    0x2(%esi),%ecx
510961:	8b 75 f8             	mov    -0x8(%ebp),%esi
510964:	f7 76 20             	divl   0x20(%esi)
510967:	8d 71 01             	lea    0x1(%ecx),%esi
51096a:	40                   	inc    %eax
51096b:	3b c8                	cmp    %eax,%ecx
51096d:	0f 45 f1             	cmovne %ecx,%esi
510970:	8b 4d f8             	mov    -0x8(%ebp),%ecx
510973:	8b 01                	mov    (%ecx),%eax
510975:	8d 4d f8             	lea    -0x8(%ebp),%ecx
510978:	6a 00                	push   $0x0
51097a:	51                   	push   %ecx
51097b:	56                   	push   %esi
51097c:	50                   	push   %eax
51097d:	8b 80 cc 00 00 00    	mov    0xcc(%eax),%eax
510983:	ff d0                	call   *%eax
510985:	83 c4 10             	add    $0x10,%esp
510988:	85 c0                	test   %eax,%eax
51098a:	0f 85 99 00 00 00    	jne    0x510a29
510990:	8b 4d f8             	mov    -0x8(%ebp),%ecx
510993:	2b fe                	sub    %esi,%edi
510995:	4f                   	dec    %edi
510996:	8b 41 04             	mov    0x4(%ecx),%eax
510999:	8d 34 bf             	lea    (%edi,%edi,4),%esi
51099c:	89 45 f0             	mov    %eax,-0x10(%ebp)