570798:	8b 44 24 20          	mov    0x20(%esp),%eax
57079c:	57                   	push   %edi
57079d:	ff 74 24 14          	push   0x14(%esp)
5707a1:	ff 36                	push   (%esi)
5707a3:	ff 30                	push   (%eax)
5707a5:	e8 86 aa f5 ff       	call   0x4cb230
5707aa:	8b 54 24 30          	mov    0x30(%esp),%edx
5707ae:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
5707b2:	ff 74 24 50          	push   0x50(%esp)
5707b6:	8b 0a                	mov    (%edx),%ecx
5707b8:	89 04 29             	mov    %eax,(%ecx,%ebp,1)
5707bb:	8b 44 24 60          	mov    0x60(%esp),%eax
5707bf:	83 e8 04             	sub    $0x4,%eax
5707c2:	89 44 24 60          	mov    %eax,0x60(%esp)
5707c6:	ff 32                	push   (%edx)
5707c8:	50                   	push   %eax
5707c9:	50                   	push   %eax
5707ca:	e8 61 b2 f5 ff       	call   0x4cba30
5707cf:	8b 6c 24 50          	mov    0x50(%esp),%ebp
5707d3:	83 c4 20             	add    $0x20,%esp
5707d6:	85 c0                	test   %eax,%eax
5707d8:	74 1b                	je     0x5707f5
5707da:	ff 74 24 10          	push   0x10(%esp)
5707de:	8b 44 24 50          	mov    0x50(%esp),%eax
5707e2:	4f                   	dec    %edi
5707e3:	ff 36                	push   (%esi)
5707e5:	50                   	push   %eax
5707e6:	50                   	push   %eax
5707e7:	e8 64 a0 f5 ff       	call   0x4ca850
5707ec:	83 c4 10             	add    $0x10,%esp
5707ef:	85 c0                	test   %eax,%eax
5707f1:	74 02                	je     0x5707f5
5707f3:	ff 03                	incl   (%ebx)
5707f5:	8b 44 24 14          	mov    0x14(%esp),%eax
5707f9:	89 3c 18             	mov    %edi,(%eax,%ebx,1)
5707fc:	83 eb 04             	sub    $0x4,%ebx
5707ff:	83 6c 24 34 01       	subl   $0x1,0x34(%esp)
570804:	89 5c 24 18          	mov    %ebx,0x18(%esp)
570808:	0f 85 18 ff ff ff    	jne    0x570726
57080e:	8b 6c 24 44          	mov    0x44(%esp),%ebp
570812:	8b 4d 04             	mov    0x4(%ebp),%ecx
570815:	85 c9                	test   %ecx,%ecx
570817:	7e 1a                	jle    0x570833
570819:	8b 45 00             	mov    0x0(%ebp),%eax
57081c:	8d 51 ff             	lea    -0x1(%ecx),%edx
57081f:	8d 14 90             	lea    (%eax,%edx,4),%edx
570822:	8b 02                	mov    (%edx),%eax
570824:	8d 52 fc             	lea    -0x4(%edx),%edx
570827:	85 c0                	test   %eax,%eax
570829:	75 05                	jne    0x570830
57082b:	49                   	dec    %ecx
57082c:	85 c9                	test   %ecx,%ecx
57082e:	7f f2                	jg     0x570822
570830:	89 4d 04             	mov    %ecx,0x4(%ebp)
570833:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)
570837:	75 07                	jne    0x570840
570839:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
570840:	8b 74 24 68          	mov    0x68(%esp),%esi
570844:	85 f6                	test   %esi,%esi
570846:	74 1e                	je     0x570866
570848:	ff 74 24 48          	push   0x48(%esp)
57084c:	8b 44 24 70          	mov    0x70(%esp),%eax
570850:	55                   	push   %ebp
570851:	56                   	push   %esi
570852:	8b 78 0c             	mov    0xc(%eax),%edi
570855:	e8 c6 3e f4 ff       	call   0x4b4720
57085a:	83 c4 0c             	add    $0xc,%esp
57085d:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
570861:	74 03                	je     0x570866
570863:	89 7e 0c             	mov    %edi,0xc(%esi)
570866:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
57086b:	74 31                	je     0x57089e
57086d:	8b 5c 24 28          	mov    0x28(%esp),%ebx
570871:	8b 4b 04             	mov    0x4(%ebx),%ecx
570874:	85 c9                	test   %ecx,%ecx
570876:	7e 19                	jle    0x570891
570878:	8b 03                	mov    (%ebx),%eax
57087a:	8d 51 ff             	lea    -0x1(%ecx),%edx
57087d:	8d 14 90             	lea    (%eax,%edx,4),%edx
570880:	8b 02                	mov    (%edx),%eax
570882:	8d 52 fc             	lea    -0x4(%edx),%edx
570885:	85 c0                	test   %eax,%eax
570887:	75 05                	jne    0x57088e
570889:	49                   	dec    %ecx
57088a:	85 c9                	test   %ecx,%ecx
57088c:	7f f2                	jg     0x570880
57088e:	89 4b 04             	mov    %ecx,0x4(%ebx)
570891:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
570895:	75 07                	jne    0x57089e
570897:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
57089e:	ff 74 24 74          	push   0x74(%esp)
5708a2:	e8 a9 74 f6 ff       	call   0x4d7d50
5708a7:	83 c4 04             	add    $0x4,%esp
5708aa:	b8 01 00 00 00       	mov    $0x1,%eax
5708af:	5f                   	pop    %edi
5708b0:	5d                   	pop    %ebp
5708b1:	5e                   	pop    %esi
5708b2:	5b                   	pop    %ebx
5708b3:	83 c4 50             	add    $0x50,%esp
5708b6:	c3                   	ret
5708b7:	ff 74 24 74          	push   0x74(%esp)
5708bb:	e8 90 74 f6 ff       	call   0x4d7d50
5708c0:	83 c4 04             	add    $0x4,%esp
5708c3:	33 c0                	xor    %eax,%eax
5708c5:	5f                   	pop    %edi
5708c6:	5d                   	pop    %ebp
5708c7:	5e                   	pop    %esi
5708c8:	5b                   	pop    %ebx
5708c9:	83 c4 50             	add    $0x50,%esp
5708cc:	c3                   	ret
5708cd:	cc                   	int3
5708ce:	cc                   	int3
5708cf:	cc                   	int3
5708d0:	56                   	push   %esi
5708d1:	8b 74 24 08          	mov    0x8(%esp),%esi
5708d5:	57                   	push   %edi
5708d6:	8b 7c 24 10          	mov    0x10(%esp),%edi
5708da:	3b f7                	cmp    %edi,%esi
5708dc:	74 51                	je     0x57092f
5708de:	8d 47 04             	lea    0x4(%edi),%eax
5708e1:	50                   	push   %eax
5708e2:	8d 46 04             	lea    0x4(%esi),%eax
5708e5:	50                   	push   %eax
5708e6:	e8 e5 27 f4 ff       	call   0x4b30d0
5708eb:	83 c4 08             	add    $0x8,%esp
5708ee:	85 c0                	test   %eax,%eax
5708f0:	75 05                	jne    0x5708f7
5708f2:	5f                   	pop    %edi
5708f3:	33 c0                	xor    %eax,%eax
5708f5:	5e                   	pop    %esi
5708f6:	c3                   	ret
5708f7:	8d 47 18             	lea    0x18(%edi),%eax
5708fa:	50                   	push   %eax
5708fb:	8d 46 18             	lea    0x18(%esi),%eax
5708fe:	50                   	push   %eax
5708ff:	e8 cc 27 f4 ff       	call   0x4b30d0
570904:	83 c4 08             	add    $0x8,%esp
570907:	85 c0                	test   %eax,%eax
570909:	74 e7                	je     0x5708f2
57090b:	8d 47 2c             	lea    0x2c(%edi),%eax
57090e:	50                   	push   %eax
57090f:	8d 46 2c             	lea    0x2c(%esi),%eax
570912:	50                   	push   %eax
570913:	e8 b8 27 f4 ff       	call   0x4b30d0
570918:	83 c4 08             	add    $0x8,%esp
57091b:	85 c0                	test   %eax,%eax
57091d:	74 d3                	je     0x5708f2
57091f:	8b 07                	mov    (%edi),%eax
570921:	89 06                	mov    %eax,(%esi)
570923:	8b 47 40             	mov    0x40(%edi),%eax
570926:	89 46 40             	mov    %eax,0x40(%esi)
570929:	8b 47 44             	mov    0x44(%edi),%eax
57092c:	89 46 44             	mov    %eax,0x44(%esi)
57092f:	5f                   	pop    %edi
570930:	8b c6                	mov    %esi,%eax
570932:	5e                   	pop    %esi
570933:	c3                   	ret
570934:	cc                   	int3
570935:	cc                   	int3
570936:	cc                   	int3
570937:	cc                   	int3
570938:	cc                   	int3
570939:	cc                   	int3
57093a:	cc                   	int3
57093b:	cc                   	int3
57093c:	cc                   	int3
57093d:	cc                   	int3
57093e:	cc                   	int3
57093f:	cc                   	int3
570940:	56                   	push   %esi
570941:	8b 74 24 08          	mov    0x8(%esp),%esi
570945:	85 f6                	test   %esi,%esi
570947:	74 2d                	je     0x570976
570949:	8d 46 04             	lea    0x4(%esi),%eax
57094c:	50                   	push   %eax
57094d:	e8 1e 24 f4 ff       	call   0x4b2d70
570952:	8d 46 18             	lea    0x18(%esi),%eax
570955:	50                   	push   %eax
570956:	e8 15 24 f4 ff       	call   0x4b2d70
57095b:	8d 46 2c             	lea    0x2c(%esi),%eax
57095e:	50                   	push   %eax
57095f:	e8 0c 24 f4 ff       	call   0x4b2d70
570964:	83 c4 0c             	add    $0xc,%esp
570967:	f6 46 48 01          	testb  $0x1,0x48(%esi)
57096b:	74 09                	je     0x570976
57096d:	56                   	push   %esi
57096e:	e8 bd f7 f2 ff       	call   0x4a0130
570973:	83 c4 04             	add    $0x4,%esp
570976:	5e                   	pop    %esi
570977:	c3                   	ret
570978:	cc                   	int3
570979:	cc                   	int3
57097a:	cc                   	int3
57097b:	cc                   	int3
57097c:	cc                   	int3
57097d:	cc                   	int3
57097e:	cc                   	int3
57097f:	cc                   	int3
570980:	56                   	push   %esi
570981:	68 55 01 00 00       	push   $0x155
570986:	68 b8 c9 6b 00       	push   $0x6bc9b8
57098b:	6a 4c                	push   $0x4c
57098d:	e8 1e f8 f2 ff       	call   0x4a01b0
570992:	8b f0                	mov    %eax,%esi
570994:	83 c4 0c             	add    $0xc,%esp
570997:	85 f6                	test   %esi,%esi
570999:	75 02                	jne    0x57099d
57099b:	5e                   	pop    %esi
57099c:	c3                   	ret
57099d:	8d 46 04             	lea    0x4(%esi),%eax
5709a0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
5709a6:	50                   	push   %eax
5709a7:	e8 74 28 f4 ff       	call   0x4b3220
5709ac:	8d 46 18             	lea    0x18(%esi),%eax
5709af:	50                   	push   %eax
5709b0:	e8 6b 28 f4 ff       	call   0x4b3220
5709b5:	8d 46 2c             	lea    0x2c(%esi),%eax
5709b8:	50                   	push   %eax
5709b9:	e8 62 28 f4 ff       	call   0x4b3220
5709be:	83 c4 0c             	add    $0xc,%esp
5709c1:	c7 46 44 00 00 00 00 	movl   $0x0,0x44(%esi)
5709c8:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
5709cf:	8b c6                	mov    %esi,%eax
5709d1:	c7 46 48 01 00 00 00 	movl   $0x1,0x48(%esi)
5709d8:	5e                   	pop    %esi
5709d9:	c3                   	ret
5709da:	cc                   	int3
5709db:	cc                   	int3
5709dc:	cc                   	int3
5709dd:	cc                   	int3
5709de:	cc                   	int3
5709df:	cc                   	int3
5709e0:	b8 1c 00 00 00       	mov    $0x1c,%eax
5709e5:	e8 06 0b 07 00       	call   0x5e14f0
5709ea:	8b 44 24 24          	mov    0x24(%esp),%eax
5709ee:	53                   	push   %ebx
5709ef:	33 db                	xor    %ebx,%ebx
5709f1:	39 58 04             	cmp    %ebx,0x4(%eax)
5709f4:	75 07                	jne    0x5709fd
5709f6:	33 c0                	xor    %eax,%eax
5709f8:	5b                   	pop    %ebx
5709f9:	83 c4 1c             	add    $0x1c,%esp
5709fc:	c3                   	ret
5709fd:	56                   	push   %esi
5709fe:	57                   	push   %edi
5709ff:	8b 7c 24 34          	mov    0x34(%esp),%edi
570a03:	57                   	push   %edi
570a04:	e8 97 74 f6 ff       	call   0x4d7ea0
570a09:	57                   	push   %edi
570a0a:	e8 b1 73 f6 ff       	call   0x4d7dc0
570a0f:	8b f0                	mov    %eax,%esi
570a11:	83 c4 08             	add    $0x8,%esp
570a14:	85 f6                	test   %esi,%esi
570a16:	0f 84 42 01 00 00    	je     0x570b5e
570a1c:	55                   	push   %ebp
570a1d:	8b 6c 24 30          	mov    0x30(%esp),%ebp
570a21:	ff 74 24 34          	push   0x34(%esp)
570a25:	8d 45 18             	lea    0x18(%ebp),%eax
570a28:	50                   	push   %eax
570a29:	e8 a2 26 f4 ff       	call   0x4b30d0
570a2e:	83 c4 08             	add    $0x8,%esp
570a31:	85 c0                	test   %eax,%eax
570a33:	0f 84 24 01 00 00    	je     0x570b5d
570a39:	8d 44 24 18          	lea    0x18(%esp),%eax
570a3d:	89 5d 24             	mov    %ebx,0x24(%ebp)
570a40:	50                   	push   %eax
570a41:	e8 da 27 f4 ff       	call   0x4b3220
570a46:	ff 74 24 38          	push   0x38(%esp)
570a4a:	8d 44 24 18          	lea    0x18(%esp),%eax
570a4e:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%esp)
570a55:	00
570a56:	89 44 24 20          	mov    %eax,0x20(%esp)
570a5a:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
570a5e:	e8 0d 29 f4 ff       	call   0x4b3370
570a63:	83 c0 1f             	add    $0x1f,%eax
570a66:	99                   	cltd
570a67:	83 e2 1f             	and    $0x1f,%edx
570a6a:	03 c2                	add    %edx,%eax
570a6c:	83 e0 e0             	and    $0xffffffe0,%eax
570a6f:	89 45 00             	mov    %eax,0x0(%ebp)
570a72:	8d 45 04             	lea    0x4(%ebp),%eax
570a75:	6a 00                	push   $0x0
570a77:	50                   	push   %eax
570a78:	e8 73 2a f4 ff       	call   0x4b34f0
570a7d:	8d 45 04             	lea    0x4(%ebp),%eax
570a80:	6a 20                	push   $0x20
570a82:	50                   	push   %eax
570a83:	e8 a8 29 f4 ff       	call   0x4b3430
570a88:	83 c4 18             	add    $0x18,%esp
570a8b:	85 c0                	test   %eax,%eax
570a8d:	0f 84 ca 00 00 00    	je     0x570b5d
570a93:	8b 44 24 34          	mov    0x34(%esp),%eax
570a97:	57                   	push   %edi
570a98:	8b 00                	mov    (%eax),%eax
570a9a:	8b 08                	mov    (%eax),%ecx
570a9c:	33 c0                	xor    %eax,%eax
570a9e:	85 c9                	test   %ecx,%ecx
570aa0:	89 4c 24 14          	mov    %ecx,0x14(%esp)
570aa4:	89 5c 24 18          	mov    %ebx,0x18(%esp)
570aa8:	0f 95 c0             	setne  %al
570aab:	89 44 24 20          	mov    %eax,0x20(%esp)
570aaf:	8d 44 24 1c          	lea    0x1c(%esp),%eax
570ab3:	50                   	push   %eax
570ab4:	8d 45 04             	lea    0x4(%ebp),%eax
570ab7:	50                   	push   %eax
570ab8:	56                   	push   %esi
570ab9:	e8 d2 87 f6 ff       	call   0x4d9290
570abe:	83 c4 10             	add    $0x10,%esp
570ac1:	85 c0                	test   %eax,%eax
570ac3:	0f 84 94 00 00 00    	je     0x570b5d
570ac9:	6a 20                	push   $0x20
570acb:	56                   	push   %esi
570acc:	56                   	push   %esi
570acd:	e8 2e 3a f4 ff       	call   0x4b4500
570ad2:	83 c4 0c             	add    $0xc,%esp
570ad5:	85 c0                	test   %eax,%eax
570ad7:	0f 84 80 00 00 00    	je     0x570b5d
570add:	39 5e 04             	cmp    %ebx,0x4(%esi)
570ae0:	74 0a                	je     0x570aec
570ae2:	6a 01                	push   $0x1
570ae4:	56                   	push   %esi
570ae5:	e8 46 2f f4 ff       	call   0x4b3a30
570aea:	eb 08                	jmp    0x570af4
570aec:	6a ff                	push   $0xffffffff
570aee:	56                   	push   %esi
570aef:	e8 fc 29 f4 ff       	call   0x4b34f0
570af4:	83 c4 08             	add    $0x8,%esp
570af7:	85 c0                	test   %eax,%eax
570af9:	74 62                	je     0x570b5d
570afb:	57                   	push   %edi
570afc:	8d 44 24 1c          	lea    0x1c(%esp),%eax
570b00:	50                   	push   %eax
570b01:	56                   	push   %esi
570b02:	6a 00                	push   $0x0
570b04:	56                   	push   %esi
570b05:	e8 96 f8 ff ff       	call   0x5703a0
570b0a:	83 c4 14             	add    $0x14,%esp
570b0d:	85 c0                	test   %eax,%eax
570b0f:	74 4c                	je     0x570b5d
570b11:	39 5e 04             	cmp    %ebx,0x4(%esi)
570b14:	7e 06                	jle    0x570b1c
570b16:	8b 06                	mov    (%esi),%eax
570b18:	8b 00                	mov    (%eax),%eax
570b1a:	eb 02                	jmp    0x570b1e
570b1c:	33 c0                	xor    %eax,%eax
570b1e:	6a 00                	push   $0x0
570b20:	8d 75 04             	lea    0x4(%ebp),%esi
570b23:	89 45 40             	mov    %eax,0x40(%ebp)
570b26:	56                   	push   %esi
570b27:	89 5d 44             	mov    %ebx,0x44(%ebp)