5a8491:	56                   	push   %esi
5a8492:	ff d1                	call   *%ecx
5a8494:	83 c4 0c             	add    $0xc,%esp
5a8497:	eb 0b                	jmp    0x5a84a4
5a8499:	6a 01                	push   $0x1
5a849b:	50                   	push   %eax
5a849c:	e8 4f b0 f0 ff       	call   0x4b34f0
5a84a1:	83 c4 08             	add    $0x8,%esp
5a84a4:	85 c0                	test   %eax,%eax
5a84a6:	0f 84 f3 fd ff ff    	je     0x5a829f
5a84ac:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5a84b0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5a84b4:	8b 54 24 30          	mov    0x30(%esp),%edx
5a84b8:	c7 45 40 01 00 00 00 	movl   $0x1,0x40(%ebp)
5a84bf:	41                   	inc    %ecx
5a84c0:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5a84c4:	3b c8                	cmp    %eax,%ecx
5a84c6:	0f 82 34 ff ff ff    	jb     0x5a8400
5a84cc:	bd 01 00 00 00       	mov    $0x1,%ebp
5a84d1:	e9 cb fd ff ff       	jmp    0x5a82a1
5a84d6:	cc                   	int3
5a84d7:	cc                   	int3
5a84d8:	cc                   	int3
5a84d9:	cc                   	int3
5a84da:	cc                   	int3
5a84db:	cc                   	int3
5a84dc:	cc                   	int3
5a84dd:	cc                   	int3
5a84de:	cc                   	int3
5a84df:	cc                   	int3
5a84e0:	ff 74 24 14          	push   0x14(%esp)
5a84e4:	8b 44 24 08          	mov    0x8(%esp),%eax
5a84e8:	83 c0 48             	add    $0x48,%eax
5a84eb:	50                   	push   %eax
5a84ec:	ff 74 24 18          	push   0x18(%esp)
5a84f0:	ff 74 24 18          	push   0x18(%esp)
5a84f4:	ff 74 24 18          	push   0x18(%esp)
5a84f8:	e8 e3 66 fc ff       	call   0x56ebe0
5a84fd:	83 c4 14             	add    $0x14,%esp
5a8500:	c3                   	ret
5a8501:	cc                   	int3
5a8502:	cc                   	int3
5a8503:	cc                   	int3
5a8504:	cc                   	int3
5a8505:	cc                   	int3
5a8506:	cc                   	int3
5a8507:	cc                   	int3
5a8508:	cc                   	int3
5a8509:	cc                   	int3
5a850a:	cc                   	int3
5a850b:	cc                   	int3
5a850c:	cc                   	int3
5a850d:	cc                   	int3
5a850e:	cc                   	int3
5a850f:	cc                   	int3
5a8510:	ff 74 24 10          	push   0x10(%esp)
5a8514:	8b 44 24 08          	mov    0x8(%esp),%eax
5a8518:	83 c0 48             	add    $0x48,%eax
5a851b:	50                   	push   %eax
5a851c:	ff 74 24 14          	push   0x14(%esp)
5a8520:	ff 74 24 14          	push   0x14(%esp)
5a8524:	e8 37 67 fc ff       	call   0x56ec60
5a8529:	83 c4 10             	add    $0x10,%esp
5a852c:	c3                   	ret
5a852d:	cc                   	int3
5a852e:	cc                   	int3
5a852f:	cc                   	int3
5a8530:	b8 24 d3 6c 00       	mov    $0x6cd324,%eax
5a8535:	c3                   	ret
5a8536:	cc                   	int3
5a8537:	cc                   	int3
5a8538:	cc                   	int3
5a8539:	cc                   	int3
5a853a:	cc                   	int3
5a853b:	cc                   	int3
5a853c:	cc                   	int3
5a853d:	cc                   	int3
5a853e:	cc                   	int3
5a853f:	cc                   	int3
5a8540:	b8 bc d3 6c 00       	mov    $0x6cd3bc,%eax
5a8545:	c3                   	ret
5a8546:	cc                   	int3
5a8547:	cc                   	int3
5a8548:	cc                   	int3
5a8549:	cc                   	int3
5a854a:	cc                   	int3
5a854b:	cc                   	int3
5a854c:	cc                   	int3
5a854d:	cc                   	int3
5a854e:	cc                   	int3
5a854f:	cc                   	int3
5a8550:	b8 d0 d3 6c 00       	mov    $0x6cd3d0,%eax
5a8555:	c3                   	ret
5a8556:	cc                   	int3
5a8557:	cc                   	int3
5a8558:	cc                   	int3
5a8559:	cc                   	int3
5a855a:	cc                   	int3
5a855b:	cc                   	int3
5a855c:	cc                   	int3
5a855d:	cc                   	int3
5a855e:	cc                   	int3
5a855f:	cc                   	int3
5a8560:	b8 e4 d3 6c 00       	mov    $0x6cd3e4,%eax
5a8565:	c3                   	ret
5a8566:	cc                   	int3
5a8567:	cc                   	int3
5a8568:	cc                   	int3
5a8569:	cc                   	int3
5a856a:	cc                   	int3
5a856b:	cc                   	int3
5a856c:	cc                   	int3
5a856d:	cc                   	int3
5a856e:	cc                   	int3
5a856f:	cc                   	int3
5a8570:	b8 f8 d3 6c 00       	mov    $0x6cd3f8,%eax
5a8575:	c3                   	ret
5a8576:	cc                   	int3
5a8577:	cc                   	int3
5a8578:	cc                   	int3
5a8579:	cc                   	int3
5a857a:	cc                   	int3
5a857b:	cc                   	int3
5a857c:	cc                   	int3
5a857d:	cc                   	int3
5a857e:	cc                   	int3
5a857f:	cc                   	int3
5a8580:	b8 3c 00 00 00       	mov    $0x3c,%eax
5a8585:	e8 66 8f 03 00       	call   0x5e14f0
5a858a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5a858f:	33 c4                	xor    %esp,%eax
5a8591:	89 44 24 38          	mov    %eax,0x38(%esp)
5a8595:	53                   	push   %ebx
5a8596:	8b 5c 24 44          	mov    0x44(%esp),%ebx
5a859a:	55                   	push   %ebp
5a859b:	8b 6c 24 54          	mov    0x54(%esp),%ebp
5a859f:	56                   	push   %esi
5a85a0:	8b 74 24 50          	mov    0x50(%esp),%esi
5a85a4:	57                   	push   %edi
5a85a5:	89 5c 24 14          	mov    %ebx,0x14(%esp)
5a85a9:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
5a85ad:	8b 46 04             	mov    0x4(%esi),%eax
5a85b0:	8b 3e                	mov    (%esi),%edi
5a85b2:	89 44 24 10          	mov    %eax,0x10(%esp)
5a85b6:	0f 85 48 02 00 00    	jne    0x5a8804
5a85bc:	68 0c d4 6c 00       	push   $0x6cd40c
5a85c1:	56                   	push   %esi
5a85c2:	e8 89 af f0 ff       	call   0x4b3550
5a85c7:	83 c4 08             	add    $0x8,%esp
5a85ca:	85 c0                	test   %eax,%eax
5a85cc:	0f 89 32 02 00 00    	jns    0x5a8804
5a85d2:	56                   	push   %esi
5a85d3:	68 24 d3 6c 00       	push   $0x6cd324
5a85d8:	e8 73 af f0 ff       	call   0x4b3550
5a85dd:	83 c4 08             	add    $0x8,%esp
5a85e0:	85 c0                	test   %eax,%eax
5a85e2:	75 22                	jne    0x5a8606
5a85e4:	50                   	push   %eax
5a85e5:	53                   	push   %ebx
5a85e6:	e8 05 af f0 ff       	call   0x4b34f0
5a85eb:	83 c4 08             	add    $0x8,%esp
5a85ee:	5f                   	pop    %edi
5a85ef:	5e                   	pop    %esi
5a85f0:	5d                   	pop    %ebp
5a85f1:	b8 01 00 00 00       	mov    $0x1,%eax
5a85f6:	5b                   	pop    %ebx
5a85f7:	8b 4c 24 38          	mov    0x38(%esp),%ecx
5a85fb:	33 cc                	xor    %esp,%ecx
5a85fd:	e8 d8 8e 03 00       	call   0x5e14da
5a8602:	83 c4 3c             	add    $0x3c,%esp
5a8605:	c3                   	ret
5a8606:	7e 27                	jle    0x5a862f
5a8608:	3b de                	cmp    %esi,%ebx
5a860a:	74 e2                	je     0x5a85ee
5a860c:	56                   	push   %esi
5a860d:	53                   	push   %ebx
5a860e:	e8 bd aa f0 ff       	call   0x4b30d0
5a8613:	83 c4 08             	add    $0x8,%esp
5a8616:	f7 d8                	neg    %eax
5a8618:	1b c0                	sbb    %eax,%eax
5a861a:	f7 d8                	neg    %eax
5a861c:	5f                   	pop    %edi
5a861d:	5e                   	pop    %esi
5a861e:	5d                   	pop    %ebp
5a861f:	5b                   	pop    %ebx
5a8620:	8b 4c 24 38          	mov    0x38(%esp),%ecx
5a8624:	33 cc                	xor    %esp,%ecx
5a8626:	e8 af 8e 03 00       	call   0x5e14da
5a862b:	83 c4 3c             	add    $0x3c,%esp
5a862e:	c3                   	ret
5a862f:	3b de                	cmp    %esi,%ebx
5a8631:	74 52                	je     0x5a8685
5a8633:	83 7b 08 06          	cmpl   $0x6,0x8(%ebx)
5a8637:	7c 04                	jl     0x5a863d
5a8639:	8b c3                	mov    %ebx,%eax
5a863b:	eb 0b                	jmp    0x5a8648
5a863d:	6a 06                	push   $0x6
5a863f:	53                   	push   %ebx
5a8640:	e8 5b b0 f0 ff       	call   0x4b36a0
5a8645:	83 c4 08             	add    $0x8,%esp
5a8648:	85 c0                	test   %eax,%eax
5a864a:	75 13                	jne    0x5a865f
5a864c:	5f                   	pop    %edi
5a864d:	5e                   	pop    %esi
5a864e:	5d                   	pop    %ebp
5a864f:	5b                   	pop    %ebx
5a8650:	8b 4c 24 38          	mov    0x38(%esp),%ecx
5a8654:	33 cc                	xor    %esp,%ecx
5a8656:	e8 7f 8e 03 00       	call   0x5e14da
5a865b:	83 c4 3c             	add    $0x3c,%esp
5a865e:	c3                   	ret
5a865f:	8b 33                	mov    (%ebx),%esi
5a8661:	8b 07                	mov    (%edi),%eax
5a8663:	89 06                	mov    %eax,(%esi)
5a8665:	8b 47 04             	mov    0x4(%edi),%eax
5a8668:	89 46 04             	mov    %eax,0x4(%esi)
5a866b:	8b 47 08             	mov    0x8(%edi),%eax
5a866e:	89 46 08             	mov    %eax,0x8(%esi)
5a8671:	8b 47 0c             	mov    0xc(%edi),%eax
5a8674:	89 46 0c             	mov    %eax,0xc(%esi)
5a8677:	8b 47 10             	mov    0x10(%edi),%eax
5a867a:	89 46 10             	mov    %eax,0x10(%esi)
5a867d:	8b 47 14             	mov    0x14(%edi),%eax
5a8680:	89 46 14             	mov    %eax,0x14(%esi)
5a8683:	eb 02                	jmp    0x5a8687
5a8685:	8b f7                	mov    %edi,%esi
5a8687:	8b 44 24 10          	mov    0x10(%esp),%eax
5a868b:	83 c0 fa             	add    $0xfffffffa,%eax
5a868e:	6a 06                	push   $0x6
5a8690:	50                   	push   %eax
5a8691:	8d 47 18             	lea    0x18(%edi),%eax
5a8694:	50                   	push   %eax
5a8695:	8d 44 24 24          	lea    0x24(%esp),%eax
5a8699:	50                   	push   %eax
5a869a:	e8 61 0f 00 00       	call   0x5a9600
5a869f:	8b 06                	mov    (%esi),%eax
5a86a1:	33 c9                	xor    %ecx,%ecx
5a86a3:	83 c4 10             	add    $0x10,%esp
5a86a6:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5a86aa:	03 44 24 18          	add    0x18(%esp),%eax
5a86ae:	bd 00 00 00 00       	mov    $0x0,%ebp
5a86b3:	bf 00 00 00 00       	mov    $0x0,%edi
5a86b8:	13 c9                	adc    %ecx,%ecx
5a86ba:	03 44 24 28          	add    0x28(%esp),%eax
5a86be:	89 06                	mov    %eax,(%esi)
5a86c0:	83 d1 00             	adc    $0x0,%ecx
5a86c3:	8b c1                	mov    %ecx,%eax
5a86c5:	c1 f8 1f             	sar    $0x1f,%eax
5a86c8:	03 4e 04             	add    0x4(%esi),%ecx
5a86cb:	83 d0 00             	adc    $0x0,%eax
5a86ce:	03 4c 24 1c          	add    0x1c(%esp),%ecx
5a86d2:	83 d0 00             	adc    $0x0,%eax
5a86d5:	03 4c 24 2c          	add    0x2c(%esp),%ecx
5a86d9:	89 4e 04             	mov    %ecx,0x4(%esi)
5a86dc:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5a86e0:	83 d0 00             	adc    $0x0,%eax
5a86e3:	03 4c 24 28          	add    0x28(%esp),%ecx
5a86e7:	8b d0                	mov    %eax,%edx
5a86e9:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a86ed:	13 ed                	adc    %ebp,%ebp
5a86ef:	c1 fa 1f             	sar    $0x1f,%edx
5a86f2:	03 46 08             	add    0x8(%esi),%eax
5a86f5:	83 d2 00             	adc    $0x0,%edx
5a86f8:	03 c1                	add    %ecx,%eax
5a86fa:	13 d5                	adc    %ebp,%edx
5a86fc:	03 44 24 18          	add    0x18(%esp),%eax
5a8700:	89 46 08             	mov    %eax,0x8(%esi)
5a8703:	83 d2 00             	adc    $0x0,%edx
5a8706:	03 5c 24 2c          	add    0x2c(%esp),%ebx
5a870a:	8b ca                	mov    %edx,%ecx
5a870c:	13 ff                	adc    %edi,%edi
5a870e:	c1 f9 1f             	sar    $0x1f,%ecx
5a8711:	03 56 0c             	add    0xc(%esi),%edx
5a8714:	83 d1 00             	adc    $0x0,%ecx
5a8717:	03 54 24 1c          	add    0x1c(%esp),%edx
5a871b:	83 d1 00             	adc    $0x0,%ecx
5a871e:	03 d3                	add    %ebx,%edx
5a8720:	89 56 0c             	mov    %edx,0xc(%esi)
5a8723:	13 cf                	adc    %edi,%ecx
5a8725:	8b c1                	mov    %ecx,%eax
5a8727:	c1 f8 1f             	sar    $0x1f,%eax
5a872a:	03 4e 10             	add    0x10(%esi),%ecx
5a872d:	83 d0 00             	adc    $0x0,%eax
5a8730:	03 4c 24 10          	add    0x10(%esp),%ecx
5a8734:	89 4e 10             	mov    %ecx,0x10(%esi)
5a8737:	13 c5                	adc    %ebp,%eax
5a8739:	8b c8                	mov    %eax,%ecx
5a873b:	c1 f9 1f             	sar    $0x1f,%ecx
5a873e:	03 46 14             	add    0x14(%esi),%eax
5a8741:	83 d1 00             	adc    $0x0,%ecx
5a8744:	03 c3                	add    %ebx,%eax
5a8746:	89 46 14             	mov    %eax,0x14(%esi)
5a8749:	13 cf                	adc    %edi,%ecx
5a874b:	8b c1                	mov    %ecx,%eax
5a874d:	c1 f8 1f             	sar    $0x1f,%eax
5a8750:	85 c9                	test   %ecx,%ecx
5a8752:	7e 1b                	jle    0x5a876f
5a8754:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
5a8757:	6a 06                	push   $0x6
5a8759:	8d 04 c5 b0 cf 6c 00 	lea    0x6ccfb0(,%eax,8),%eax
5a8760:	50                   	push   %eax
5a8761:	56                   	push   %esi
5a8762:	56                   	push   %esi
5a8763:	e8 c8 32 f2 ff       	call   0x4cba30
5a8768:	83 c4 10             	add    $0x10,%esp
5a876b:	8b f8                	mov    %eax,%edi
5a876d:	eb 05                	jmp    0x5a8774
5a876f:	bf 01 00 00 00       	mov    $0x1,%edi
5a8774:	6a 06                	push   $0x6
5a8776:	68 c8 cf 6c 00       	push   $0x6ccfc8
5a877b:	8d 44 24 38          	lea    0x38(%esp),%eax
5a877f:	56                   	push   %esi
5a8780:	50                   	push   %eax
5a8781:	e8 aa 32 f2 ff       	call   0x4cba30
5a8786:	f7 d8                	neg    %eax
5a8788:	8d 54 24 40          	lea    0x40(%esp),%edx
5a878c:	f7 df                	neg    %edi
5a878e:	83 c4 10             	add    $0x10,%esp
5a8791:	23 c7                	and    %edi,%eax
5a8793:	8b c8                	mov    %eax,%ecx
5a8795:	23 c6                	and    %esi,%eax
5a8797:	f7 d1                	not    %ecx
5a8799:	23 ca                	and    %edx,%ecx
5a879b:	0b c8                	or     %eax,%ecx
5a879d:	8b 01                	mov    (%ecx),%eax
5a879f:	89 06                	mov    %eax,(%esi)
5a87a1:	8b 41 04             	mov    0x4(%ecx),%eax
5a87a4:	89 46 04             	mov    %eax,0x4(%esi)
5a87a7:	8b 41 08             	mov    0x8(%ecx),%eax
5a87aa:	89 46 08             	mov    %eax,0x8(%esi)
5a87ad:	8b 41 0c             	mov    0xc(%ecx),%eax
5a87b0:	89 46 0c             	mov    %eax,0xc(%esi)
5a87b3:	8b 41 10             	mov    0x10(%ecx),%eax
5a87b6:	89 46 10             	mov    %eax,0x10(%esi)
5a87b9:	8b 41 14             	mov    0x14(%ecx),%eax
5a87bc:	b9 06 00 00 00       	mov    $0x6,%ecx
5a87c1:	89 46 14             	mov    %eax,0x14(%esi)
5a87c4:	8b 74 24 14          	mov    0x14(%esp),%esi
5a87c8:	8b 16                	mov    (%esi),%edx
5a87ca:	c7 46 04 06 00 00 00 	movl   $0x6,0x4(%esi)
5a87d1:	83 c2 14             	add    $0x14,%edx
5a87d4:	8b 02                	mov    (%edx),%eax
5a87d6:	8d 52 fc             	lea    -0x4(%edx),%edx
5a87d9:	85 c0                	test   %eax,%eax
5a87db:	75 05                	jne    0x5a87e2
5a87dd:	49                   	dec    %ecx
5a87de:	85 c9                	test   %ecx,%ecx
5a87e0:	7f f2                	jg     0x5a87d4
5a87e2:	89 4e 04             	mov    %ecx,0x4(%esi)
5a87e5:	85 c9                	test   %ecx,%ecx