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)
47caff:	33 c0                	xor    %eax,%eax
47cb01:	89 45 fc             	mov    %eax,-0x4(%ebp)
47cb04:	85 d2                	test   %edx,%edx
47cb06:	74 10                	je     0x47cb18
47cb08:	8b 4e 18             	mov    0x18(%esi),%ecx
47cb0b:	ff b1 90 00 00 00    	push   0x90(%ecx)
47cb11:	8b ca                	mov    %edx,%ecx
47cb13:	e8 dd e2 00 00       	call   0x48adf5
47cb18:	e8 84 39 01 00       	call   0x4904a1
47cb1d:	c3                   	ret
47cb1e:	6a 08                	push   $0x8
47cb20:	b8 3e 64 49 00       	mov    $0x49643e,%eax
47cb25:	e8 a9 39 01 00       	call   0x4904d3
47cb2a:	8b f1                	mov    %ecx,%esi
47cb2c:	89 75 f0             	mov    %esi,-0x10(%ebp)
47cb2f:	ff 75 08             	push   0x8(%ebp)
47cb32:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47cb36:	e8 71 05 00 00       	call   0x47d0ac
47cb3b:	8b 45 0c             	mov    0xc(%ebp),%eax
47cb3e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
47cb42:	89 46 54             	mov    %eax,0x54(%esi)
47cb45:	8b 45 10             	mov    0x10(%ebp),%eax
47cb48:	6a 10                	push   $0x10
47cb4a:	c7 06 f8 6f 40 00    	movl   $0x406ff8,(%esi)
47cb50:	89 46 58             	mov    %eax,0x58(%esi)
47cb53:	ff 15 14 74 4a 00    	call   *0x4a7414
47cb59:	89 45 ec             	mov    %eax,-0x14(%ebp)
47cb5c:	59                   	pop    %ecx
47cb5d:	85 c0                	test   %eax,%eax
47cb5f:	74 11                	je     0x47cb72
47cb61:	89 70 04             	mov    %esi,0x4(%eax)
47cb64:	89 70 08             	mov    %esi,0x8(%eax)
47cb67:	c7 00 20 6f 40 00    	movl   $0x406f20,(%eax)
47cb6d:	89 70 0c             	mov    %esi,0xc(%eax)
47cb70:	eb 02                	jmp    0x47cb74
47cb72:	33 c0                	xor    %eax,%eax
47cb74:	6a 10                	push   $0x10
47cb76:	89 46 04             	mov    %eax,0x4(%esi)
47cb79:	ff 15 14 74 4a 00    	call   *0x4a7414
47cb7f:	89 45 ec             	mov    %eax,-0x14(%ebp)
47cb82:	59                   	pop    %ecx
47cb83:	85 c0                	test   %eax,%eax
47cb85:	74 11                	je     0x47cb98
47cb87:	89 70 04             	mov    %esi,0x4(%eax)
47cb8a:	89 70 08             	mov    %esi,0x8(%eax)
47cb8d:	c7 00 8c 6f 40 00    	movl   $0x406f8c,(%eax)
47cb93:	89 70 0c             	mov    %esi,0xc(%eax)
47cb96:	eb 02                	jmp    0x47cb9a
47cb98:	33 c0                	xor    %eax,%eax
47cb9a:	6a 10                	push   $0x10
47cb9c:	89 46 08             	mov    %eax,0x8(%esi)
47cb9f:	ff 15 14 74 4a 00    	call   *0x4a7414
47cba5:	89 45 ec             	mov    %eax,-0x14(%ebp)
47cba8:	59                   	pop    %ecx
47cba9:	85 c0                	test   %eax,%eax
47cbab:	74 11                	je     0x47cbbe
47cbad:	89 70 04             	mov    %esi,0x4(%eax)
47cbb0:	89 70 08             	mov    %esi,0x8(%eax)
47cbb3:	c7 00 b4 6e 40 00    	movl   $0x406eb4,(%eax)
47cbb9:	89 70 0c             	mov    %esi,0xc(%eax)
47cbbc:	eb 02                	jmp    0x47cbc0
47cbbe:	33 c0                	xor    %eax,%eax
47cbc0:	8d 4e 2c             	lea    0x2c(%esi),%ecx
47cbc3:	89 46 0c             	mov    %eax,0xc(%esi)
47cbc6:	8b 41 04             	mov    0x4(%ecx),%eax
47cbc9:	3b 41 08             	cmp    0x8(%ecx),%eax
47cbcc:	74 03                	je     0x47cbd1
47cbce:	89 41 08             	mov    %eax,0x8(%ecx)
47cbd1:	ff 75 ec             	push   -0x14(%ebp)
47cbd4:	ff 75 1c             	push   0x1c(%ebp)
47cbd7:	ff 75 18             	push   0x18(%ebp)
47cbda:	50                   	push   %eax
47cbdb:	e8 f5 01 00 00       	call   0x47cdd5
47cbe0:	8b 45 24             	mov    0x24(%ebp),%eax
47cbe3:	8d 4d 14             	lea    0x14(%ebp),%ecx
47cbe6:	89 46 24             	mov    %eax,0x24(%esi)
47cbe9:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
47cbf0:	e8 1b 0d fa ff       	call   0x41d910
47cbf5:	8b c6                	mov    %esi,%eax
47cbf7:	e8 a5 38 01 00       	call   0x4904a1
47cbfc:	c2 20 00             	ret    $0x20
47cbff:	cc                   	int3
47cc00:	8b ff                	mov    %edi,%edi
47cc02:	55                   	push   %ebp
47cc03:	8b ec                	mov    %esp,%ebp
47cc05:	56                   	push   %esi
47cc06:	8b f1                	mov    %ecx,%esi
47cc08:	ff 76 04             	push   0x4(%esi)
47cc0b:	c7 06 f8 6f 40 00    	movl   $0x406ff8,(%esi)
47cc11:	ff 15 10 74 4a 00    	call   *0x4a7410
47cc17:	ff 76 08             	push   0x8(%esi)
47cc1a:	ff 15 10 74 4a 00    	call   *0x4a7410
47cc20:	ff 76 0c             	push   0xc(%esi)
47cc23:	ff 15 10 74 4a 00    	call   *0x4a7410
47cc29:	83 c4 0c             	add    $0xc,%esp
47cc2c:	8b ce                	mov    %esi,%ecx
47cc2e:	e8 ff 04 00 00       	call   0x47d132
47cc33:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
47cc37:	74 08                	je     0x47cc41
47cc39:	56                   	push   %esi
47cc3a:	ff 15 10 74 4a 00    	call   *0x4a7410
47cc40:	59                   	pop    %ecx
47cc41:	8b c6                	mov    %esi,%eax
47cc43:	5e                   	pop    %esi
47cc44:	5d                   	pop    %ebp
47cc45:	c2 04 00             	ret    $0x4
47cc48:	cc                   	int3
47cc49:	cc                   	int3
47cc4a:	cc                   	int3
47cc4b:	cc                   	int3
47cc4c:	cc                   	int3
47cc4d:	cc                   	int3
47cc4e:	cc                   	int3
47cc4f:	cc                   	int3
47cc50:	8b ff                	mov    %edi,%edi
47cc52:	53                   	push   %ebx
47cc53:	56                   	push   %esi
47cc54:	8b f1                	mov    %ecx,%esi
47cc56:	e8 c5 05 00 00       	call   0x47d220
47cc5b:	8b d8                	mov    %eax,%ebx
47cc5d:	85 db                	test   %ebx,%ebx
47cc5f:	74 19                	je     0x47cc7a
47cc61:	57                   	push   %edi
47cc62:	8b 7e 14             	mov    0x14(%esi),%edi
47cc65:	ff 76 54             	push   0x54(%esi)
47cc68:	8b 17                	mov    (%edi),%edx
47cc6a:	8b 72 2c             	mov    0x2c(%edx),%esi
47cc6d:	8b ce                	mov    %esi,%ecx
47cc6f:	ff 15 2c 81 4a 00    	call   *0x4a812c
47cc75:	8b cf                	mov    %edi,%ecx
47cc77:	ff d6                	call   *%esi
47cc79:	5f                   	pop    %edi
47cc7a:	5e                   	pop    %esi
47cc7b:	8b c3                	mov    %ebx,%eax
47cc7d:	5b                   	pop    %ebx
47cc7e:	c3                   	ret
47cc7f:	cc                   	int3
47cc80:	8b ff                	mov    %edi,%edi
47cc82:	55                   	push   %ebp
47cc83:	8b ec                	mov    %esp,%ebp
47cc85:	83 7d 08 0f          	cmpl   $0xf,0x8(%ebp)
47cc89:	74 06                	je     0x47cc91
47cc8b:	5d                   	pop    %ebp
47cc8c:	e9 ff 0a 00 00       	jmp    0x47d790
47cc91:	32 c0                	xor    %al,%al
47cc93:	5d                   	pop    %ebp
47cc94:	c2 04 00             	ret    $0x4
47cc97:	cc                   	int3
47cc98:	cc                   	int3
47cc99:	cc                   	int3
47cc9a:	cc                   	int3
47cc9b:	cc                   	int3
47cc9c:	cc                   	int3
47cc9d:	cc                   	int3
47cc9e:	cc                   	int3
47cc9f:	cc                   	int3
47cca0:	8b ff                	mov    %edi,%edi
47cca2:	55                   	push   %ebp
47cca3:	8b ec                	mov    %esp,%ebp
47cca5:	53                   	push   %ebx
47cca6:	56                   	push   %esi
47cca7:	57                   	push   %edi
47cca8:	8b 7d 08             	mov    0x8(%ebp),%edi
47ccab:	8b d9                	mov    %ecx,%ebx
47ccad:	57                   	push   %edi
47ccae:	e8 0d 17 00 00       	call   0x47e3c0
47ccb3:	8b 07                	mov    (%edi),%eax
47ccb5:	ff 73 58             	push   0x58(%ebx)
47ccb8:	8b 70 20             	mov    0x20(%eax),%esi
47ccbb:	8b ce                	mov    %esi,%ecx
47ccbd:	ff 15 2c 81 4a 00    	call   *0x4a812c
47ccc3:	8b cf                	mov    %edi,%ecx
47ccc5:	ff d6                	call   *%esi
47ccc7:	8b f8                	mov    %eax,%edi
47ccc9:	89 7b 48             	mov    %edi,0x48(%ebx)