59b480:	29 7e 04             	sub    %edi,0x4(%esi)
59b483:	b8 01 00 00 00       	mov    $0x1,%eax
59b488:	5f                   	pop    %edi
59b489:	5e                   	pop    %esi
59b48a:	c3                   	ret
59b48b:	5f                   	pop    %edi
59b48c:	33 c0                	xor    %eax,%eax
59b48e:	5e                   	pop    %esi
59b48f:	c3                   	ret
59b490:	8b 4c 24 04          	mov    0x4(%esp),%ecx
59b494:	8b 44 24 0c          	mov    0xc(%esp),%eax
59b498:	39 41 04             	cmp    %eax,0x4(%ecx)
59b49b:	74 03                	je     0x59b4a0
59b49d:	33 c0                	xor    %eax,%eax
59b49f:	c3                   	ret
59b4a0:	50                   	push   %eax
59b4a1:	ff 74 24 0c          	push   0xc(%esp)
59b4a5:	ff 31                	push   (%ecx)
59b4a7:	e8 a4 65 e6 ff       	call   0x401a50
59b4ac:	83 c4 0c             	add    $0xc,%esp
59b4af:	f7 d8                	neg    %eax
59b4b1:	1b c0                	sbb    %eax,%eax
59b4b3:	40                   	inc    %eax
59b4b4:	c3                   	ret
59b4b5:	cc                   	int3
59b4b6:	cc                   	int3
59b4b7:	cc                   	int3
59b4b8:	cc                   	int3
59b4b9:	cc                   	int3
59b4ba:	cc                   	int3
59b4bb:	cc                   	int3
59b4bc:	cc                   	int3
59b4bd:	cc                   	int3
59b4be:	cc                   	int3
59b4bf:	cc                   	int3
59b4c0:	b8 08 00 00 00       	mov    $0x8,%eax
59b4c5:	e8 e6 62 03 00       	call   0x5d17b0
59b4ca:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
59b4ce:	56                   	push   %esi
59b4cf:	57                   	push   %edi
59b4d0:	8b 51 04             	mov    0x4(%ecx),%edx
59b4d3:	8b 01                	mov    (%ecx),%eax
59b4d5:	85 d2                	test   %edx,%edx
59b4d7:	74 29                	je     0x59b502
59b4d9:	0f b6 30             	movzbl (%eax),%esi
59b4dc:	8d 78 01             	lea    0x1(%eax),%edi
59b4df:	4a                   	dec    %edx
59b4e0:	3b d6                	cmp    %esi,%edx
59b4e2:	72 1e                	jb     0x59b502
59b4e4:	8d 04 37             	lea    (%edi,%esi,1),%eax
59b4e7:	2b d6                	sub    %esi,%edx
59b4e9:	89 01                	mov    %eax,(%ecx)
59b4eb:	8b 44 24 18          	mov    0x18(%esp),%eax
59b4ef:	89 51 04             	mov    %edx,0x4(%ecx)
59b4f2:	89 38                	mov    %edi,(%eax)
59b4f4:	89 70 04             	mov    %esi,0x4(%eax)
59b4f7:	b8 01 00 00 00       	mov    $0x1,%eax
59b4fc:	5f                   	pop    %edi
59b4fd:	5e                   	pop    %esi
59b4fe:	83 c4 08             	add    $0x8,%esp
59b501:	c3                   	ret
59b502:	5f                   	pop    %edi
59b503:	33 c0                	xor    %eax,%eax
59b505:	5e                   	pop    %esi
59b506:	83 c4 08             	add    $0x8,%esp
59b509:	c3                   	ret
59b50a:	cc                   	int3
59b50b:	cc                   	int3
59b50c:	cc                   	int3
59b50d:	cc                   	int3
59b50e:	cc                   	int3
59b50f:	cc                   	int3
59b510:	b8 08 00 00 00       	mov    $0x8,%eax
59b515:	e8 96 62 03 00       	call   0x5d17b0
59b51a:	8b 54 24 0c          	mov    0xc(%esp),%edx
59b51e:	53                   	push   %ebx
59b51f:	56                   	push   %esi
59b520:	57                   	push   %edi
59b521:	8b 7a 04             	mov    0x4(%edx),%edi
59b524:	8b 32                	mov    (%edx),%esi
59b526:	83 ff 02             	cmp    $0x2,%edi
59b529:	72 35                	jb     0x59b560
59b52b:	0f b6 0e             	movzbl (%esi),%ecx
59b52e:	8d 5e 02             	lea    0x2(%esi),%ebx
59b531:	0f b6 46 01          	movzbl 0x1(%esi),%eax
59b535:	8d 77 fe             	lea    -0x2(%edi),%esi
59b538:	c1 e1 08             	shl    $0x8,%ecx
59b53b:	0b c8                	or     %eax,%ecx
59b53d:	3b f1                	cmp    %ecx,%esi
59b53f:	72 1f                	jb     0x59b560
59b541:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
59b544:	2b f1                	sub    %ecx,%esi
59b546:	89 02                	mov    %eax,(%edx)
59b548:	8b 44 24 1c          	mov    0x1c(%esp),%eax
59b54c:	89 72 04             	mov    %esi,0x4(%edx)
59b54f:	5f                   	pop    %edi
59b550:	5e                   	pop    %esi
59b551:	89 18                	mov    %ebx,(%eax)
59b553:	89 48 04             	mov    %ecx,0x4(%eax)
59b556:	b8 01 00 00 00       	mov    $0x1,%eax
59b55b:	5b                   	pop    %ebx
59b55c:	83 c4 08             	add    $0x8,%esp
59b55f:	c3                   	ret
59b560:	5f                   	pop    %edi
59b561:	5e                   	pop    %esi
59b562:	33 c0                	xor    %eax,%eax
59b564:	5b                   	pop    %ebx
59b565:	83 c4 08             	add    $0x8,%esp
59b568:	c3                   	ret
59b569:	cc                   	int3
59b56a:	cc                   	int3
59b56b:	cc                   	int3
59b56c:	cc                   	int3
59b56d:	cc                   	int3
59b56e:	cc                   	int3
59b56f:	cc                   	int3
59b570:	8b 54 24 04          	mov    0x4(%esp),%edx
59b574:	56                   	push   %esi
59b575:	8b 74 24 10          	mov    0x10(%esp),%esi
59b579:	39 72 04             	cmp    %esi,0x4(%edx)
59b57c:	72 1f                	jb     0x59b59d
59b57e:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
59b584:	77 17                	ja     0x59b59d
59b586:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
59b58a:	8b 02                	mov    (%edx),%eax
59b58c:	89 01                	mov    %eax,(%ecx)
59b58e:	b8 01 00 00 00       	mov    $0x1,%eax
59b593:	89 71 04             	mov    %esi,0x4(%ecx)
59b596:	01 32                	add    %esi,(%edx)
59b598:	29 72 04             	sub    %esi,0x4(%edx)
59b59b:	5e                   	pop    %esi
59b59c:	c3                   	ret
59b59d:	33 c0                	xor    %eax,%eax
59b59f:	5e                   	pop    %esi
59b5a0:	c3                   	ret
59b5a1:	cc                   	int3
59b5a2:	cc                   	int3
59b5a3:	cc                   	int3
59b5a4:	cc                   	int3
59b5a5:	cc                   	int3
59b5a6:	cc                   	int3
59b5a7:	cc                   	int3
59b5a8:	cc                   	int3
59b5a9:	cc                   	int3
59b5aa:	cc                   	int3
59b5ab:	cc                   	int3
59b5ac:	cc                   	int3
59b5ad:	cc                   	int3
59b5ae:	cc                   	int3
59b5af:	cc                   	int3
59b5b0:	b8 70 00 00 00       	mov    $0x70,%eax
59b5b5:	e8 f6 61 03 00       	call   0x5d17b0
59b5ba:	a1 c0 14 69 00       	mov    0x6914c0,%eax
59b5bf:	33 c4                	xor    %esp,%eax
59b5c1:	89 44 24 6c          	mov    %eax,0x6c(%esp)
59b5c5:	8b 84 24 80 00 00 00 	mov    0x80(%esp),%eax
59b5cc:	53                   	push   %ebx
59b5cd:	55                   	push   %ebp
59b5ce:	56                   	push   %esi
59b5cf:	8b b4 24 80 00 00 00 	mov    0x80(%esp),%esi
59b5d6:	33 db                	xor    %ebx,%ebx
59b5d8:	57                   	push   %edi
59b5d9:	8b bc 24 88 00 00 00 	mov    0x88(%esp),%edi
59b5e0:	53                   	push   %ebx
59b5e1:	ff b6 74 04 00 00    	push   0x474(%esi)
59b5e7:	89 44 24 34          	mov    %eax,0x34(%esp)
59b5eb:	8b 86 e0 05 00 00    	mov    0x5e0(%esi),%eax
59b5f1:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
59b5f8:	00
59b5f9:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
59b600:	00
59b601:	89 44 24 38          	mov    %eax,0x38(%esp)
59b605:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
59b609:	e8 e2 22 01 00       	call   0x5ad8f0
59b60e:	8b e8                	mov    %eax,%ebp
59b610:	83 c4 08             	add    $0x8,%esp
59b613:	85 ed                	test   %ebp,%ebp
59b615:	0f 84 93 04 00 00    	je     0x59baae
59b61b:	81 fd 00 ff 00 00    	cmp    $0xff00,%ebp
59b621:	0f 8f 87 04 00 00    	jg     0x59baae
59b627:	68 22 0f 00 00       	push   $0xf22
59b62c:	68 e0 7b 66 00       	push   $0x667be0
59b631:	55                   	push   %ebp
59b632:	e8 19 51 f4 ff       	call   0x4e0750
59b637:	83 c4 0c             	add    $0xc,%esp
59b63a:	89 44 24 14          	mov    %eax,0x14(%esp)
59b63e:	85 c0                	test   %eax,%eax
59b640:	75 11                	jne    0x59b653
59b642:	68 25 0f 00 00       	push   $0xf25
59b647:	68 e0 7b 66 00       	push   $0x667be0
59b64c:	6a 41                	push   $0x41
59b64e:	e9 67 04 00 00       	jmp    0x59baba
59b653:	e8 18 0e f4 ff       	call   0x4dc470
59b658:	89 44 24 18          	mov    %eax,0x18(%esp)
59b65c:	e8 bf 46 f9 ff       	call   0x52fd20
59b661:	89 44 24 10          	mov    %eax,0x10(%esp)
59b665:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
59b669:	0f 84 2e 04 00 00    	je     0x59ba9d
59b66f:	85 c0                	test   %eax,%eax
59b671:	0f 84 26 04 00 00    	je     0x59ba9d
59b677:	8b 5c 24 14          	mov    0x14(%esp),%ebx
59b67b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
59b67f:	50                   	push   %eax
59b680:	ff b6 74 04 00 00    	push   0x474(%esi)
59b686:	89 5c 24 24          	mov    %ebx,0x24(%esp)
59b68a:	e8 61 22 01 00       	call   0x5ad8f0
59b68f:	83 c4 08             	add    $0x8,%esp
59b692:	85 c0                	test   %eax,%eax
59b694:	75 22                	jne    0x59b6b8
59b696:	68 34 0f 00 00       	push   $0xf34
59b69b:	68 e0 7b 66 00       	push   $0x667be0
59b6a0:	6a 44                	push   $0x44
59b6a2:	68 7d 02 00 00       	push   $0x27d
59b6a7:	6a 50                	push   $0x50
59b6a9:	56                   	push   %esi
59b6aa:	e8 61 3a ff ff       	call   0x58f110
59b6af:	8b 5c 24 28          	mov    0x28(%esp),%ebx
59b6b3:	e9 0f 04 00 00       	jmp    0x59bac7
59b6b8:	55                   	push   %ebp
59b6b9:	8d 44 24 4c          	lea    0x4c(%esp),%eax
59b6bd:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
59b6c1:	50                   	push   %eax
59b6c2:	6a 00                	push   $0x0
59b6c4:	e8 77 1e 01 00       	call   0x5ad540
59b6c9:	8b d8                	mov    %eax,%ebx
59b6cb:	83 c4 0c             	add    $0xc,%esp
59b6ce:	85 db                	test   %ebx,%ebx
59b6d0:	75 22                	jne    0x59b6f4
59b6d2:	68 3f 0f 00 00       	push   $0xf3f
59b6d7:	68 e0 7b 66 00       	push   $0x667be0
59b6dc:	6a 44                	push   $0x44
59b6de:	68 7d 02 00 00       	push   $0x27d
59b6e3:	6a 50                	push   $0x50
59b6e5:	56                   	push   %esi
59b6e6:	e8 25 3a ff ff       	call   0x58f110
59b6eb:	8b 5c 24 28          	mov    0x28(%esp),%ebx
59b6ef:	e9 d3 03 00 00       	jmp    0x59bac7
59b6f4:	6a 00                	push   $0x0
59b6f6:	53                   	push   %ebx
59b6f7:	e8 f4 21 01 00       	call   0x5ad8f0
59b6fc:	83 c4 08             	add    $0x8,%esp
59b6ff:	89 44 24 38          	mov    %eax,0x38(%esp)
59b703:	85 c0                	test   %eax,%eax
59b705:	0f 84 6a 03 00 00    	je     0x59ba75
59b70b:	3b c5                	cmp    %ebp,%eax
59b70d:	0f 8f 62 03 00 00    	jg     0x59ba75
59b713:	8b 44 24 14          	mov    0x14(%esp),%eax
59b717:	89 44 24 1c          	mov    %eax,0x1c(%esp)
59b71b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
59b71f:	50                   	push   %eax
59b720:	53                   	push   %ebx
59b721:	e8 ca 21 01 00       	call   0x5ad8f0
59b726:	83 c4 08             	add    $0x8,%esp
59b729:	85 c0                	test   %eax,%eax
59b72b:	75 2b                	jne    0x59b758
59b72d:	68 4e 0f 00 00       	push   $0xf4e
59b732:	68 e0 7b 66 00       	push   $0x667be0
59b737:	6a 44                	push   $0x44
59b739:	68 7d 02 00 00       	push   $0x27d
59b73e:	6a 50                	push   $0x50
59b740:	56                   	push   %esi
59b741:	e8 ca 39 ff ff       	call   0x58f110
59b746:	53                   	push   %ebx
59b747:	e8 74 48 ff ff       	call   0x58ffc0
59b74c:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
59b750:	83 c4 1c             	add    $0x1c,%esp
59b753:	e9 72 03 00 00       	jmp    0x59baca
59b758:	53                   	push   %ebx
59b759:	e8 62 48 ff ff       	call   0x58ffc0
59b75e:	8b 5c 24 34          	mov    0x34(%esp),%ebx
59b762:	83 c4 04             	add    $0x4,%esp
59b765:	8b 83 4c 01 00 00    	mov    0x14c(%ebx),%eax
59b76b:	85 c0                	test   %eax,%eax
59b76d:	0f 84 9c 00 00 00    	je     0x59b80f
59b773:	8b 5c 24 10          	mov    0x10(%esp),%ebx
59b777:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
59b77b:	8b 6c 24 18          	mov    0x18(%esp),%ebp
59b77f:	6a 01                	push   $0x1
59b781:	53                   	push   %ebx
59b782:	55                   	push   %ebp
59b783:	51                   	push   %ecx
59b784:	8d 4c 24 7c          	lea    0x7c(%esp),%ecx
59b788:	51                   	push   %ecx
59b789:	56                   	push   %esi
59b78a:	ff d0                	call   *%eax
59b78c:	83 c4 18             	add    $0x18,%esp
59b78f:	85 c0                	test   %eax,%eax
59b791:	75 54                	jne    0x59b7e7
59b793:	6a 04                	push   $0x4
59b795:	50                   	push   %eax
59b796:	57                   	push   %edi
59b797:	e8 04 88 00 00       	call   0x5a3fa0
59b79c:	83 c4 0c             	add    $0xc,%esp
59b79f:	85 c0                	test   %eax,%eax
59b7a1:	74 3a                	je     0x59b7dd
59b7a3:	6a 02                	push   $0x2
59b7a5:	6a 00                	push   $0x0
59b7a7:	57                   	push   %edi
59b7a8:	e8 f3 87 00 00       	call   0x5a3fa0
59b7ad:	83 c4 0c             	add    $0xc,%esp
59b7b0:	85 c0                	test   %eax,%eax
59b7b2:	74 29                	je     0x59b7dd
59b7b4:	68 67 0f 00 00       	push   $0xf67
59b7b9:	68 e0 7b 66 00       	push   $0x667be0
59b7be:	ff 74 24 1c          	push   0x1c(%esp)
59b7c2:	e8 b9 4f f4 ff       	call   0x4e0780
59b7c7:	55                   	push   %ebp
59b7c8:	e8 23 0c f4 ff       	call   0x4dc3f0
59b7cd:	53                   	push   %ebx
59b7ce:	e8 ed 44 f9 ff       	call   0x52fcc0
59b7d3:	b8 01 00 00 00       	mov    $0x1,%eax
59b7d8:	e9 13 03 00 00       	jmp    0x59baf0
59b7dd:	68 64 0f 00 00       	push   $0xf64
59b7e2:	e9 cc 02 00 00       	jmp    0x59bab3
59b7e7:	79 14                	jns    0x59b7fd
59b7e9:	68 6e 0f 00 00       	push   $0xf6e
59b7ee:	68 e0 7b 66 00       	push   $0x667be0
59b7f3:	68 ea 00 00 00       	push   $0xea
59b7f8:	e9 bd 02 00 00       	jmp    0x59baba
59b7fd:	55                   	push   %ebp
59b7fe:	e8 dd 48 f5 ff       	call   0x4f00e0
59b803:	83 c4 04             	add    $0x4,%esp
59b806:	89 44 24 34          	mov    %eax,0x34(%esp)
59b80a:	e9 83 00 00 00       	jmp    0x59b892
59b80f:	e8 bc 41 f4 ff       	call   0x4df9d0
59b814:	8b e8                	mov    %eax,%ebp
59b816:	55                   	push   %ebp
59b817:	e8 24 ba f4 ff       	call   0x4e7240
59b81c:	50                   	push   %eax
59b81d:	89 44 24 3c          	mov    %eax,0x3c(%esp)
59b821:	8d 44 24 64          	lea    0x64(%esp),%eax
59b825:	50                   	push   %eax
59b826:	e8 25 5a f4 ff       	call   0x4e1250
59b82b:	83 c4 0c             	add    $0xc,%esp
59b82e:	85 c0                	test   %eax,%eax
59b830:	0f 8e 34 02 00 00    	jle    0x59ba6a
59b836:	8d 44 24 5c          	lea    0x5c(%esp),%eax
59b83a:	50                   	push   %eax
59b83b:	8b 83 48 01 00 00    	mov    0x148(%ebx),%eax
59b841:	83 c0 20             	add    $0x20,%eax
59b844:	50                   	push   %eax
59b845:	6a 00                	push   $0x0
59b847:	55                   	push   %ebp
59b848:	8b 6c 24 28          	mov    0x28(%esp),%ebp
59b84c:	55                   	push   %ebp
59b84d:	e8 fe 15 f4 ff       	call   0x4dce50
59b852:	83 c4 14             	add    $0x14,%esp
59b855:	85 c0                	test   %eax,%eax
59b857:	0f 84 0d 02 00 00    	je     0x59ba6a
59b85d:	6a 00                	push   $0x0