47c781:	33 c0                	xor    %eax,%eax
47c783:	6a 20                	push   $0x20
47c785:	89 46 04             	mov    %eax,0x4(%esi)
47c788:	ff 15 14 74 4a 00    	call   *0x4a7414
47c78e:	89 45 ec             	mov    %eax,-0x14(%ebp)
47c791:	59                   	pop    %ecx
47c792:	85 c0                	test   %eax,%eax
47c794:	74 14                	je     0x47c7aa
47c796:	89 70 04             	mov    %esi,0x4(%eax)
47c799:	89 70 14             	mov    %esi,0x14(%eax)
47c79c:	89 70 18             	mov    %esi,0x18(%eax)
47c79f:	c7 00 c8 6b 40 00    	movl   $0x406bc8,(%eax)
47c7a5:	89 70 1c             	mov    %esi,0x1c(%eax)
47c7a8:	eb 02                	jmp    0x47c7ac
47c7aa:	33 c0                	xor    %eax,%eax
47c7ac:	6a 28                	push   $0x28
47c7ae:	89 46 08             	mov    %eax,0x8(%esi)
47c7b1:	ff 15 14 74 4a 00    	call   *0x4a7414
47c7b7:	89 45 ec             	mov    %eax,-0x14(%ebp)
47c7ba:	59                   	pop    %ecx
47c7bb:	85 c0                	test   %eax,%eax
47c7bd:	74 19                	je     0x47c7d8
47c7bf:	83 60 1c 00          	andl   $0x0,0x1c(%eax)
47c7c3:	89 70 04             	mov    %esi,0x4(%eax)
47c7c6:	c6 40 18 00          	movb   $0x0,0x18(%eax)
47c7ca:	89 70 20             	mov    %esi,0x20(%eax)
47c7cd:	c7 00 cc 6c 40 00    	movl   $0x406ccc,(%eax)
47c7d3:	89 70 24             	mov    %esi,0x24(%eax)
47c7d6:	eb 02                	jmp    0x47c7da
47c7d8:	33 c0                	xor    %eax,%eax
47c7da:	89 46 0c             	mov    %eax,0xc(%esi)
47c7dd:	8b 46 04             	mov    0x4(%esi),%eax
47c7e0:	89 46 10             	mov    %eax,0x10(%esi)
47c7e3:	8b c6                	mov    %esi,%eax
47c7e5:	e8 b7 3c 01 00       	call   0x4904a1
47c7ea:	c2 08 00             	ret    $0x8
47c7ed:	cc                   	int3
47c7ee:	cc                   	int3
47c7ef:	cc                   	int3
47c7f0:	8b ff                	mov    %edi,%edi
47c7f2:	55                   	push   %ebp
47c7f3:	8b ec                	mov    %esp,%ebp
47c7f5:	56                   	push   %esi
47c7f6:	8b f1                	mov    %ecx,%esi
47c7f8:	c7 06 38 6c 40 00    	movl   $0x406c38,(%esi)
47c7fe:	e8 4f 01 00 00       	call   0x47c952
47c803:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
47c807:	74 08                	je     0x47c811
47c809:	56                   	push   %esi
47c80a:	ff 15 10 74 4a 00    	call   *0x4a7410
47c810:	59                   	pop    %ecx
47c811:	8b c6                	mov    %esi,%eax
47c813:	5e                   	pop    %esi
47c814:	5d                   	pop    %ebp
47c815:	c2 04 00             	ret    $0x4
47c818:	cc                   	int3
47c819:	cc                   	int3
47c81a:	cc                   	int3
47c81b:	cc                   	int3
47c81c:	cc                   	int3
47c81d:	cc                   	int3
47c81e:	cc                   	int3
47c81f:	cc                   	int3
47c820:	6a 04                	push   $0x4
47c822:	b8 13 64 49 00       	mov    $0x496413,%eax
47c827:	e8 a7 3c 01 00       	call   0x4904d3
47c82c:	8b f9                	mov    %ecx,%edi
47c82e:	68 c8 00 00 00       	push   $0xc8
47c833:	ff 15 14 74 4a 00    	call   *0x4a7414
47c839:	8b f0                	mov    %eax,%esi
47c83b:	59                   	pop    %ecx
47c83c:	89 75 f0             	mov    %esi,-0x10(%ebp)
47c83f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47c843:	85 f6                	test   %esi,%esi
47c845:	74 23                	je     0x47c86a
47c847:	8b 47 1c             	mov    0x1c(%edi),%eax
47c84a:	8b ce                	mov    %esi,%ecx
47c84c:	ff b0 90 00 00 00    	push   0x90(%eax)
47c852:	e8 9e e5 00 00       	call   0x48adf5
47c857:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
47c85b:	8b ce                	mov    %esi,%ecx
47c85d:	c7 06 d4 74 40 00    	movl   $0x4074d4,(%esi)
47c863:	e8 86 fd 00 00       	call   0x48c5ee
47c868:	eb 02                	jmp    0x47c86c
47c86a:	33 f6                	xor    %esi,%esi
47c86c:	8b c6                	mov    %esi,%eax
47c86e:	e8 2e 3c 01 00       	call   0x4904a1
47c873:	c3                   	ret
47c874:	6a 08                	push   $0x8
47c876:	b8 ff 61 49 00       	mov    $0x4961ff,%eax
47c87b:	e8 53 3c 01 00       	call   0x4904d3
47c880:	8b f1                	mov    %ecx,%esi
47c882:	89 75 f0             	mov    %esi,-0x10(%ebp)
47c885:	ff 75 08             	push   0x8(%ebp)
47c888:	e8 9a 1e 00 00       	call   0x47e727
47c88d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47c891:	8b 45 0c             	mov    0xc(%ebp),%eax
47c894:	6a 10                	push   $0x10
47c896:	c7 06 20 6e 40 00    	movl   $0x406e20,(%esi)
47c89c:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
47c8a2:	ff 15 14 74 4a 00    	call   *0x4a7414
47c8a8:	89 45 ec             	mov    %eax,-0x14(%ebp)
47c8ab:	59                   	pop    %ecx
47c8ac:	85 c0                	test   %eax,%eax
47c8ae:	74 11                	je     0x47c8c1
47c8b0:	89 70 04             	mov    %esi,0x4(%eax)
47c8b3:	89 70 08             	mov    %esi,0x8(%eax)
47c8b6:	c7 00 b4 6d 40 00    	movl   $0x406db4,(%eax)
47c8bc:	89 70 0c             	mov    %esi,0xc(%eax)
47c8bf:	eb 02                	jmp    0x47c8c3
47c8c1:	33 c0                	xor    %eax,%eax
47c8c3:	6a 1c                	push   $0x1c
47c8c5:	89 46 04             	mov    %eax,0x4(%esi)
47c8c8:	ff 15 14 74 4a 00    	call   *0x4a7414
47c8ce:	89 45 ec             	mov    %eax,-0x14(%ebp)
47c8d1:	59                   	pop    %ecx
47c8d2:	85 c0                	test   %eax,%eax
47c8d4:	74 11                	je     0x47c8e7
47c8d6:	89 70 04             	mov    %esi,0x4(%eax)
47c8d9:	89 70 14             	mov    %esi,0x14(%eax)
47c8dc:	c7 00 44 6d 40 00    	movl   $0x406d44,(%eax)
47c8e2:	89 70 18             	mov    %esi,0x18(%eax)
47c8e5:	eb 02                	jmp    0x47c8e9
47c8e7:	33 c0                	xor    %eax,%eax
47c8e9:	6a 28                	push   $0x28
47c8eb:	89 46 08             	mov    %eax,0x8(%esi)
47c8ee:	ff 15 14 74 4a 00    	call   *0x4a7414
47c8f4:	89 45 ec             	mov    %eax,-0x14(%ebp)
47c8f7:	59                   	pop    %ecx
47c8f8:	85 c0                	test   %eax,%eax
47c8fa:	74 19                	je     0x47c915
47c8fc:	83 60 1c 00          	andl   $0x0,0x1c(%eax)
47c900:	89 70 04             	mov    %esi,0x4(%eax)
47c903:	c6 40 18 00          	movb   $0x0,0x18(%eax)
47c907:	89 70 20             	mov    %esi,0x20(%eax)
47c90a:	c7 00 cc 6c 40 00    	movl   $0x406ccc,(%eax)
47c910:	89 70 24             	mov    %esi,0x24(%eax)
47c913:	eb 02                	jmp    0x47c917
47c915:	33 c0                	xor    %eax,%eax
47c917:	89 46 0c             	mov    %eax,0xc(%esi)
47c91a:	8b 46 04             	mov    0x4(%esi),%eax
47c91d:	89 46 10             	mov    %eax,0x10(%esi)
47c920:	8b c6                	mov    %esi,%eax
47c922:	e8 7a 3b 01 00       	call   0x4904a1
47c927:	c2 08 00             	ret    $0x8
47c92a:	cc                   	int3
47c92b:	cc                   	int3
47c92c:	cc                   	int3
47c92d:	cc                   	int3
47c92e:	cc                   	int3
47c92f:	cc                   	int3
47c930:	8b ff                	mov    %edi,%edi
47c932:	55                   	push   %ebp
47c933:	8b ec                	mov    %esp,%ebp
47c935:	56                   	push   %esi
47c936:	8b f1                	mov    %ecx,%esi
47c938:	e8 15 00 00 00       	call   0x47c952
47c93d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
47c941:	74 08                	je     0x47c94b
47c943:	56                   	push   %esi
47c944:	ff 15 10 74 4a 00    	call   *0x4a7410
47c94a:	59                   	pop    %ecx
47c94b:	8b c6                	mov    %esi,%eax
47c94d:	5e                   	pop    %esi
47c94e:	5d                   	pop    %ebp
47c94f:	c2 04 00             	ret    $0x4
47c952:	8b ff                	mov    %edi,%edi
47c954:	56                   	push   %esi
47c955:	8b f1                	mov    %ecx,%esi
47c957:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
47c95b:	c7 06 20 6e 40 00    	movl   $0x406e20,(%esi)
47c961:	74 0a                	je     0x47c96d
47c963:	ff 76 04             	push   0x4(%esi)
47c966:	ff 15 10 74 4a 00    	call   *0x4a7410
47c96c:	59                   	pop    %ecx
47c96d:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
47c971:	74 0a                	je     0x47c97d
47c973:	ff 76 08             	push   0x8(%esi)
47c976:	ff 15 10 74 4a 00    	call   *0x4a7410
47c97c:	59                   	pop    %ecx
47c97d:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
47c981:	74 0a                	je     0x47c98d
47c983:	ff 76 0c             	push   0xc(%esi)
47c986:	ff 15 10 74 4a 00    	call   *0x4a7410
47c98c:	59                   	pop    %ecx
47c98d:	8b ce                	mov    %esi,%ecx
47c98f:	5e                   	pop    %esi
47c990:	e9 6d 1e 00 00       	jmp    0x47e802
47c995:	cc                   	int3
47c996:	cc                   	int3
47c997:	cc                   	int3
47c998:	cc                   	int3
47c999:	cc                   	int3
47c99a:	cc                   	int3
47c99b:	cc                   	int3
47c99c:	cc                   	int3
47c99d:	cc                   	int3
47c99e:	cc                   	int3
47c99f:	cc                   	int3
47c9a0:	8b ff                	mov    %edi,%edi
47c9a2:	55                   	push   %ebp
47c9a3:	8b ec                	mov    %esp,%ebp
47c9a5:	51                   	push   %ecx
47c9a6:	6a 10                	push   $0x10
47c9a8:	ff 15 8c 7d 4a 00    	call   *0x4a7d8c
47c9ae:	b9 00 80 00 00       	mov    $0x8000,%ecx
47c9b3:	66 85 c1             	test   %ax,%cx
47c9b6:	74 5d                	je     0x47ca15
47c9b8:	8b 4d 08             	mov    0x8(%ebp),%ecx
47c9bb:	53                   	push   %ebx
47c9bc:	56                   	push   %esi
47c9bd:	57                   	push   %edi
47c9be:	8b 7d 0c             	mov    0xc(%ebp),%edi
47c9c1:	8b 41 04             	mov    0x4(%ecx),%eax
47c9c4:	8b 31                	mov    (%ecx),%esi
47c9c6:	8b de                	mov    %esi,%ebx
47c9c8:	2b 47 04             	sub    0x4(%edi),%eax
47c9cb:	2b 1f                	sub    (%edi),%ebx
47c9cd:	89 45 fc             	mov    %eax,-0x4(%ebp)
47c9d0:	8b c3                	mov    %ebx,%eax
47c9d2:	99                   	cltd
47c9d3:	8b c8                	mov    %eax,%ecx
47c9d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
47c9d8:	33 ca                	xor    %edx,%ecx
47c9da:	2b ca                	sub    %edx,%ecx
47c9dc:	99                   	cltd
47c9dd:	33 c2                	xor    %edx,%eax
47c9df:	2b c2                	sub    %edx,%eax
47c9e1:	3b c8                	cmp    %eax,%ecx
47c9e3:	7c 03                	jl     0x47c9e8
47c9e5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
47c9e8:	8b c3                	mov    %ebx,%eax
47c9ea:	99                   	cltd
47c9eb:	33 c2                	xor    %edx,%eax
47c9ed:	2b c2                	sub    %edx,%eax
47c9ef:	39 37                	cmp    %esi,(%edi)
47c9f1:	7d 04                	jge    0x47c9f7
47c9f3:	2b f0                	sub    %eax,%esi
47c9f5:	eb 02                	jmp    0x47c9f9
47c9f7:	03 f0                	add    %eax,%esi
47c9f9:	8b 4d 08             	mov    0x8(%ebp),%ecx
47c9fc:	89 37                	mov    %esi,(%edi)
47c9fe:	8b 49 04             	mov    0x4(%ecx),%ecx
47ca01:	39 4f 04             	cmp    %ecx,0x4(%edi)
47ca04:	7d 07                	jge    0x47ca0d
47ca06:	2b c8                	sub    %eax,%ecx
47ca08:	89 4f 04             	mov    %ecx,0x4(%edi)
47ca0b:	eb 05                	jmp    0x47ca12
47ca0d:	03 c1                	add    %ecx,%eax
47ca0f:	89 47 04             	mov    %eax,0x4(%edi)
47ca12:	5f                   	pop    %edi
47ca13:	5e                   	pop    %esi
47ca14:	5b                   	pop    %ebx
47ca15:	c9                   	leave
47ca16:	c2 08 00             	ret    $0x8
47ca19:	cc                   	int3
47ca1a:	cc                   	int3
47ca1b:	cc                   	int3
47ca1c:	cc                   	int3
47ca1d:	cc                   	int3
47ca1e:	cc                   	int3
47ca1f:	cc                   	int3
47ca20:	8b ff                	mov    %edi,%edi
47ca22:	55                   	push   %ebp
47ca23:	8b ec                	mov    %esp,%ebp
47ca25:	83 e4 f8             	and    $0xfffffff8,%esp
47ca28:	83 ec 2c             	sub    $0x2c,%esp
47ca2b:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
47ca30:	33 c4                	xor    %esp,%eax
47ca32:	89 44 24 28          	mov    %eax,0x28(%esp)
47ca36:	53                   	push   %ebx
47ca37:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47ca3a:	56                   	push   %esi
47ca3b:	57                   	push   %edi
47ca3c:	8b f9                	mov    %ecx,%edi
47ca3e:	89 7c 24 0c          	mov    %edi,0xc(%esp)
47ca42:	8b 07                	mov    (%edi),%eax
47ca44:	8b 70 68             	mov    0x68(%eax),%esi
47ca47:	8b ce                	mov    %esi,%ecx
47ca49:	ff 15 2c 81 4a 00    	call   *0x4a812c
47ca4f:	8b cf                	mov    %edi,%ecx
47ca51:	ff d6                	call   *%esi
47ca53:	8b 4f 18             	mov    0x18(%edi),%ecx
47ca56:	89 41 20             	mov    %eax,0x20(%ecx)
47ca59:	8b 57 18             	mov    0x18(%edi),%edx
47ca5c:	8b 7a 14             	mov    0x14(%edx),%edi
47ca5f:	ff 72 20             	push   0x20(%edx)
47ca62:	8b 07                	mov    (%edi),%eax
47ca64:	8b 30                	mov    (%eax),%esi
47ca66:	8b ce                	mov    %esi,%ecx
47ca68:	ff 15 2c 81 4a 00    	call   *0x4a812c
47ca6e:	8b cf                	mov    %edi,%ecx
47ca70:	ff d6                	call   *%esi
47ca72:	8b 74 24 0c          	mov    0xc(%esp),%esi
47ca76:	8b ce                	mov    %esi,%ecx
47ca78:	53                   	push   %ebx
47ca79:	ff 75 08             	push   0x8(%ebp)
47ca7c:	e8 29 2c 00 00       	call   0x47f6aa
47ca81:	8b 46 0c             	mov    0xc(%esi),%eax
47ca84:	8b 4e 08             	mov    0x8(%esi),%ecx
47ca87:	89 44 24 14          	mov    %eax,0x14(%esp)
47ca8b:	89 44 24 1c          	mov    %eax,0x1c(%esp)
47ca8f:	8d 44 24 10          	lea    0x10(%esp),%eax
47ca93:	89 4c 24 10          	mov    %ecx,0x10(%esp)
47ca97:	89 4c 24 18          	mov    %ecx,0x18(%esp)
47ca9b:	8d 4c 24 24          	lea    0x24(%esp),%ecx
47ca9f:	50                   	push   %eax
47caa0:	e8 8a 40 00 00       	call   0x480b2f
47caa5:	8b 46 18             	mov    0x18(%esi),%eax
47caa8:	51                   	push   %ecx
47caa9:	8b 78 20             	mov    0x20(%eax),%edi
47caac:	8b 07                	mov    (%edi),%eax
47caae:	8b 70 44             	mov    0x44(%eax),%esi
47cab1:	8b ce                	mov    %esi,%ecx
47cab3:	ff 15 2c 81 4a 00    	call   *0x4a812c
47cab9:	8b cf                	mov    %edi,%ecx
47cabb:	ff d6                	call   *%esi
47cabd:	8b 4c 24 34          	mov    0x34(%esp),%ecx
47cac1:	5f                   	pop    %edi
47cac2:	5e                   	pop    %esi
47cac3:	5b                   	pop    %ebx
47cac4:	33 cc                	xor    %esp,%ecx
47cac6:	e8 35 34 01 00       	call   0x48ff00
47cacb:	8b e5                	mov    %ebp,%esp
47cacd:	5d                   	pop    %ebp
47cace:	c2 08 00             	ret    $0x8
47cad1:	cc                   	int3
47cad2:	cc                   	int3
47cad3:	cc                   	int3
47cad4:	cc                   	int3
47cad5:	cc                   	int3
47cad6:	cc                   	int3
47cad7:	cc                   	int3
47cad8:	cc                   	int3
47cad9:	cc                   	int3
47cada:	cc                   	int3
47cadb:	cc                   	int3
47cadc:	cc                   	int3
47cadd:	cc                   	int3
47cade:	cc                   	int3
47cadf:	cc                   	int3
47cae0:	6a 04                	push   $0x4
47cae2:	b8 51 41 49 00       	mov    $0x494151,%eax
47cae7:	e8 e7 39 01 00       	call   0x4904d3
47caec:	8b f1                	mov    %ecx,%esi
47caee:	68 c8 00 00 00       	push   $0xc8
47caf3:	ff 15 14 74 4a 00    	call   *0x4a7414
47caf9:	8b d0                	mov    %eax,%edx
47cafb:	59                   	pop    %ecx
47cafc:	89 55 f0             	mov    %edx,-0x10(%ebp)