47cccc:	53                   	push   %ebx
47cccd:	8b 0f                	mov    (%edi),%ecx
47cccf:	8b 31                	mov    (%ecx),%esi
47ccd1:	8b ce                	mov    %esi,%ecx
47ccd3:	ff 15 2c 81 4a 00    	call   *0x4a812c
47ccd9:	8b cf                	mov    %edi,%ecx
47ccdb:	ff d6                	call   *%esi
47ccdd:	5f                   	pop    %edi
47ccde:	5e                   	pop    %esi
47ccdf:	5b                   	pop    %ebx
47cce0:	5d                   	pop    %ebp
47cce1:	c2 04 00             	ret    $0x4
47cce4:	cc                   	int3
47cce5:	cc                   	int3
47cce6:	cc                   	int3
47cce7:	cc                   	int3
47cce8:	cc                   	int3
47cce9:	cc                   	int3
47ccea:	cc                   	int3
47cceb:	cc                   	int3
47ccec:	cc                   	int3
47cced:	cc                   	int3
47ccee:	cc                   	int3
47ccef:	cc                   	int3
47ccf0:	6a 70                	push   $0x70
47ccf2:	b8 61 64 49 00       	mov    $0x496461,%eax
47ccf7:	e8 d7 37 01 00       	call   0x4904d3
47ccfc:	8b d9                	mov    %ecx,%ebx
47ccfe:	89 5d f0             	mov    %ebx,-0x10(%ebp)
47cd01:	e8 70 03 00 00       	call   0x47d076
47cd06:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
47cd0a:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
47cd11:	c7 45 e4 34 15 40 00 	movl   $0x401534,-0x1c(%ebp)
47cd18:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47cd1c:	f6 45 08 08          	testb  $0x8,0x8(%ebp)
47cd20:	8b 7b 14             	mov    0x14(%ebx),%edi
47cd23:	8b 07                	mov    (%edi),%eax
47cd25:	8b 70 20             	mov    0x20(%eax),%esi
47cd28:	8b ce                	mov    %esi,%ecx
47cd2a:	74 04                	je     0x47cd30
47cd2c:	6a 20                	push   $0x20
47cd2e:	eb 02                	jmp    0x47cd32
47cd30:	6a 1f                	push   $0x1f
47cd32:	ff 15 2c 81 4a 00    	call   *0x4a812c
47cd38:	8b cf                	mov    %edi,%ecx
47cd3a:	ff d6                	call   *%esi
47cd3c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47cd3f:	51                   	push   %ecx
47cd40:	8b c8                	mov    %eax,%ecx
47cd42:	e8 67 9d ff ff       	call   0x476aae
47cd47:	8b 7b 14             	mov    0x14(%ebx),%edi
47cd4a:	ff 73 50             	push   0x50(%ebx)
47cd4d:	ff 73 54             	push   0x54(%ebx)
47cd50:	8b 07                	mov    (%edi),%eax
47cd52:	8b 70 28             	mov    0x28(%eax),%esi
47cd55:	8b ce                	mov    %esi,%ecx
47cd57:	ff 15 2c 81 4a 00    	call   *0x4a812c
47cd5d:	8b cf                	mov    %edi,%ecx
47cd5f:	ff d6                	call   *%esi
47cd61:	8b f0                	mov    %eax,%esi
47cd63:	8b 4e 10             	mov    0x10(%esi),%ecx
47cd66:	8d 56 18             	lea    0x18(%esi),%edx
47cd69:	e8 ac 41 00 00       	call   0x480f1a
47cd6e:	8b 4e 14             	mov    0x14(%esi),%ecx
47cd71:	8b d8                	mov    %eax,%ebx
47cd73:	e8 45 41 00 00       	call   0x480ebd
47cd78:	8d 4e 30             	lea    0x30(%esi),%ecx
47cd7b:	8b f8                	mov    %eax,%edi
47cd7d:	51                   	push   %ecx
47cd7e:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
47cd81:	e8 65 58 00 00       	call   0x4825eb
47cd86:	ff 75 ec             	push   -0x14(%ebp)
47cd89:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
47cd8c:	e8 f8 3e 00 00       	call   0x480c89
47cd91:	dd 45 c4             	fldl   -0x3c(%ebp)
47cd94:	8d 45 84             	lea    -0x7c(%ebp),%eax
47cd97:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47cd9a:	8b d3                	mov    %ebx,%edx
47cd9c:	dd 5d 84             	fstpl  -0x7c(%ebp)
47cd9f:	dd 45 cc             	fldl   -0x34(%ebp)
47cda2:	dd 5d 8c             	fstpl  -0x74(%ebp)
47cda5:	dd 45 d4             	fldl   -0x2c(%ebp)
47cda8:	8b 49 50             	mov    0x50(%ecx),%ecx
47cdab:	dd 5d 94             	fstpl  -0x6c(%ebp)
47cdae:	dd 45 dc             	fldl   -0x24(%ebp)
47cdb1:	50                   	push   %eax
47cdb2:	57                   	push   %edi
47cdb3:	dd 5d 9c             	fstpl  -0x64(%ebp)
47cdb6:	e8 4e 40 00 00       	call   0x480e09
47cdbb:	8b cb                	mov    %ebx,%ecx
47cdbd:	8b f0                	mov    %eax,%esi
47cdbf:	e8 6b 42 00 00       	call   0x48102f
47cdc4:	8b cf                	mov    %edi,%ecx
47cdc6:	e8 64 42 00 00       	call   0x48102f
47cdcb:	8b c6                	mov    %esi,%eax
47cdcd:	e8 cf 36 01 00       	call   0x4904a1
47cdd2:	c2 04 00             	ret    $0x4
47cdd5:	6a 14                	push   $0x14
47cdd7:	b8 7c 64 49 00       	mov    $0x49647c,%eax
47cddc:	e8 5b 37 01 00       	call   0x49053c
47cde1:	8b f9                	mov    %ecx,%edi
47cde3:	8b 5d 10             	mov    0x10(%ebp),%ebx
47cde6:	2b 5d 0c             	sub    0xc(%ebp),%ebx
47cde9:	8b 4f 04             	mov    0x4(%edi),%ecx
47cdec:	c1 fb 02             	sar    $0x2,%ebx
47cdef:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
47cdf2:	85 c9                	test   %ecx,%ecx
47cdf4:	75 06                	jne    0x47cdfc
47cdf6:	33 f6                	xor    %esi,%esi
47cdf8:	8b d6                	mov    %esi,%edx
47cdfa:	eb 0a                	jmp    0x47ce06
47cdfc:	8b 57 0c             	mov    0xc(%edi),%edx
47cdff:	2b d1                	sub    %ecx,%edx
47ce01:	c1 fa 02             	sar    $0x2,%edx
47ce04:	33 f6                	xor    %esi,%esi
47ce06:	85 db                	test   %ebx,%ebx
47ce08:	0f 84 e8 01 00 00    	je     0x47cff6
47ce0e:	85 c9                	test   %ecx,%ecx
47ce10:	75 05                	jne    0x47ce17
47ce12:	89 75 e8             	mov    %esi,-0x18(%ebp)
47ce15:	eb 0b                	jmp    0x47ce22
47ce17:	8b 47 08             	mov    0x8(%edi),%eax
47ce1a:	2b c1                	sub    %ecx,%eax
47ce1c:	c1 f8 02             	sar    $0x2,%eax
47ce1f:	89 45 e8             	mov    %eax,-0x18(%ebp)
47ce22:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47ce27:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ce2a:	2b 45 e8             	sub    -0x18(%ebp),%eax
47ce2d:	3b c3                	cmp    %ebx,%eax
47ce2f:	0f 82 c9 01 00 00    	jb     0x47cffe
47ce35:	85 c9                	test   %ecx,%ecx
47ce37:	75 04                	jne    0x47ce3d
47ce39:	8b c6                	mov    %esi,%eax
47ce3b:	eb 08                	jmp    0x47ce45
47ce3d:	8b 47 08             	mov    0x8(%edi),%eax
47ce40:	2b c1                	sub    %ecx,%eax
47ce42:	c1 f8 02             	sar    $0x2,%eax
47ce45:	03 c3                	add    %ebx,%eax
47ce47:	3b d0                	cmp    %eax,%edx
47ce49:	0f 83 e3 00 00 00    	jae    0x47cf32
47ce4f:	8b c2                	mov    %edx,%eax
47ce51:	d1 e8                	shr    $1,%eax
47ce53:	29 45 ec             	sub    %eax,-0x14(%ebp)
47ce56:	03 c2                	add    %edx,%eax
47ce58:	39 55 ec             	cmp    %edx,-0x14(%ebp)
47ce5b:	1b d2                	sbb    %edx,%edx
47ce5d:	f7 d2                	not    %edx
47ce5f:	23 d0                	and    %eax,%edx
47ce61:	89 55 e8             	mov    %edx,-0x18(%ebp)
47ce64:	85 c9                	test   %ecx,%ecx
47ce66:	75 04                	jne    0x47ce6c
47ce68:	8b c6                	mov    %esi,%eax
47ce6a:	eb 08                	jmp    0x47ce74
47ce6c:	8b 47 08             	mov    0x8(%edi),%eax
47ce6f:	2b c1                	sub    %ecx,%eax
47ce71:	c1 f8 02             	sar    $0x2,%eax
47ce74:	03 c3                	add    %ebx,%eax
47ce76:	3b d0                	cmp    %eax,%edx
47ce78:	73 16                	jae    0x47ce90
47ce7a:	85 c9                	test   %ecx,%ecx
47ce7c:	75 04                	jne    0x47ce82
47ce7e:	8b c6                	mov    %esi,%eax
47ce80:	eb 08                	jmp    0x47ce8a
47ce82:	8b 47 08             	mov    0x8(%edi),%eax
47ce85:	2b c1                	sub    %ecx,%eax
47ce87:	c1 f8 02             	sar    $0x2,%eax
47ce8a:	8d 14 18             	lea    (%eax,%ebx,1),%edx
47ce8d:	89 55 e8             	mov    %edx,-0x18(%ebp)
47ce90:	52                   	push   %edx
47ce91:	e8 66 11 fa ff       	call   0x41dffc
47ce96:	89 75 fc             	mov    %esi,-0x4(%ebp)
47ce99:	8b 4d 08             	mov    0x8(%ebp),%ecx
47ce9c:	2b 4f 04             	sub    0x4(%edi),%ecx
47ce9f:	c1 f9 02             	sar    $0x2,%ecx
47cea2:	8b d1                	mov    %ecx,%edx
47cea4:	89 45 ec             	mov    %eax,-0x14(%ebp)
47cea7:	c1 e2 02             	shl    $0x2,%edx
47ceaa:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
47cead:	89 5d e0             	mov    %ebx,-0x20(%ebp)
47ceb0:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
47ceb3:	85 c9                	test   %ecx,%ecx
47ceb5:	74 0f                	je     0x47cec6
47ceb7:	52                   	push   %edx
47ceb8:	ff 77 04             	push   0x4(%edi)
47cebb:	52                   	push   %edx
47cebc:	50                   	push   %eax
47cebd:	ff 15 c4 80 4a 00    	call   *0x4a80c4
47cec3:	83 c4 10             	add    $0x10,%esp
47cec6:	ff 75 e0             	push   -0x20(%ebp)
47cec9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
47cecc:	ff 75 e0             	push   -0x20(%ebp)
47cecf:	ff 75 10             	push   0x10(%ebp)
47ced2:	ff 75 0c             	push   0xc(%ebp)
47ced5:	e8 fa 7a fd ff       	call   0x4549d4
47ceda:	8b c8                	mov    %eax,%ecx
47cedc:	8b 47 08             	mov    0x8(%edi),%eax
47cedf:	2b 45 08             	sub    0x8(%ebp),%eax
47cee2:	c1 f8 02             	sar    $0x2,%eax
47cee5:	85 c0                	test   %eax,%eax
47cee7:	74 12                	je     0x47cefb
47cee9:	c1 e0 02             	shl    $0x2,%eax
47ceec:	50                   	push   %eax
47ceed:	ff 75 08             	push   0x8(%ebp)
47cef0:	50                   	push   %eax
47cef1:	51                   	push   %ecx
47cef2:	ff 15 c4 80 4a 00    	call   *0x4a80c4
47cef8:	83 c4 10             	add    $0x10,%esp
47cefb:	8b 47 04             	mov    0x4(%edi),%eax
47cefe:	85 c0                	test   %eax,%eax
47cf00:	74 08                	je     0x47cf0a
47cf02:	8b 77 08             	mov    0x8(%edi),%esi
47cf05:	2b f0                	sub    %eax,%esi
47cf07:	c1 fe 02             	sar    $0x2,%esi
47cf0a:	03 de                	add    %esi,%ebx
47cf0c:	85 c0                	test   %eax,%eax
47cf0e:	74 08                	je     0x47cf18
47cf10:	50                   	push   %eax
47cf11:	ff 15 10 74 4a 00    	call   *0x4a7410
47cf17:	59                   	pop    %ecx
47cf18:	8b 4d ec             	mov    -0x14(%ebp),%ecx
47cf1b:	8b 45 e8             	mov    -0x18(%ebp),%eax
47cf1e:	89 4f 04             	mov    %ecx,0x4(%edi)
47cf21:	8d 04 81             	lea    (%ecx,%eax,4),%eax
47cf24:	89 47 0c             	mov    %eax,0xc(%edi)
47cf27:	8d 04 99             	lea    (%ecx,%ebx,4),%eax
47cf2a:	89 47 08             	mov    %eax,0x8(%edi)
47cf2d:	e9 c4 00 00 00       	jmp    0x47cff6
47cf32:	8b 57 08             	mov    0x8(%edi),%edx
47cf35:	8b f3                	mov    %ebx,%esi
47cf37:	8b 4d 08             	mov    0x8(%ebp),%ecx
47cf3a:	8b c2                	mov    %edx,%eax
47cf3c:	2b c1                	sub    %ecx,%eax
47cf3e:	c1 e6 02             	shl    $0x2,%esi
47cf41:	c1 f8 02             	sar    $0x2,%eax
47cf44:	89 55 ec             	mov    %edx,-0x14(%ebp)
47cf47:	89 75 e0             	mov    %esi,-0x20(%ebp)
47cf4a:	3b c3                	cmp    %ebx,%eax
47cf4c:	73 4f                	jae    0x47cf9d
47cf4e:	03 f1                	add    %ecx,%esi
47cf50:	85 c0                	test   %eax,%eax
47cf52:	74 19                	je     0x47cf6d
47cf54:	c1 e0 02             	shl    $0x2,%eax
47cf57:	50                   	push   %eax
47cf58:	51                   	push   %ecx
47cf59:	50                   	push   %eax
47cf5a:	56                   	push   %esi
47cf5b:	ff 15 c4 80 4a 00    	call   *0x4a80c4
47cf61:	8b 57 08             	mov    0x8(%edi),%edx
47cf64:	83 c4 10             	add    $0x10,%esp
47cf67:	8b 4d 08             	mov    0x8(%ebp),%ecx
47cf6a:	89 55 ec             	mov    %edx,-0x14(%ebp)
47cf6d:	8b 45 0c             	mov    0xc(%ebp),%eax
47cf70:	2b d1                	sub    %ecx,%edx
47cf72:	8b 4d ec             	mov    -0x14(%ebp),%ecx
47cf75:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
47cf7c:	ff 75 e0             	push   -0x20(%ebp)
47cf7f:	c1 fa 02             	sar    $0x2,%edx
47cf82:	ff 75 e0             	push   -0x20(%ebp)
47cf85:	ff 75 10             	push   0x10(%ebp)
47cf88:	8d 34 90             	lea    (%eax,%edx,4),%esi
47cf8b:	56                   	push   %esi
47cf8c:	e8 43 7a fd ff       	call   0x4549d4
47cf91:	8b 45 e0             	mov    -0x20(%ebp),%eax
47cf94:	01 47 08             	add    %eax,0x8(%edi)
47cf97:	8b 4d 08             	mov    0x8(%ebp),%ecx
47cf9a:	56                   	push   %esi
47cf9b:	eb 4f                	jmp    0x47cfec
47cf9d:	8b c3                	mov    %ebx,%eax
47cf9f:	c1 e0 02             	shl    $0x2,%eax
47cfa2:	8d 34 10             	lea    (%eax,%edx,1),%esi
47cfa5:	89 75 e0             	mov    %esi,-0x20(%ebp)
47cfa8:	8b f2                	mov    %edx,%esi
47cfaa:	2b f0                	sub    %eax,%esi
47cfac:	85 db                	test   %ebx,%ebx
47cfae:	74 13                	je     0x47cfc3
47cfb0:	50                   	push   %eax
47cfb1:	56                   	push   %esi
47cfb2:	50                   	push   %eax
47cfb3:	52                   	push   %edx
47cfb4:	ff 15 c4 80 4a 00    	call   *0x4a80c4
47cfba:	8b 4d 08             	mov    0x8(%ebp),%ecx
47cfbd:	83 c4 10             	add    $0x10,%esp
47cfc0:	8b 55 ec             	mov    -0x14(%ebp),%edx
47cfc3:	8b 45 e0             	mov    -0x20(%ebp),%eax
47cfc6:	2b f1                	sub    %ecx,%esi
47cfc8:	c1 fe 02             	sar    $0x2,%esi
47cfcb:	89 47 08             	mov    %eax,0x8(%edi)
47cfce:	85 f6                	test   %esi,%esi
47cfd0:	7e 17                	jle    0x47cfe9
47cfd2:	8b c6                	mov    %esi,%eax
47cfd4:	c1 e0 02             	shl    $0x2,%eax
47cfd7:	50                   	push   %eax
47cfd8:	51                   	push   %ecx
47cfd9:	50                   	push   %eax
47cfda:	2b d0                	sub    %eax,%edx
47cfdc:	52                   	push   %edx
47cfdd:	ff 15 c4 80 4a 00    	call   *0x4a80c4
47cfe3:	8b 4d 08             	mov    0x8(%ebp),%ecx
47cfe6:	83 c4 10             	add    $0x10,%esp
47cfe9:	ff 75 10             	push   0x10(%ebp)
47cfec:	ff 75 0c             	push   0xc(%ebp)
47cfef:	e8 22 00 00 00       	call   0x47d016
47cff4:	59                   	pop    %ecx
47cff5:	59                   	pop    %ecx
47cff6:	e8 a6 34 01 00       	call   0x4904a1
47cffb:	c2 10 00             	ret    $0x10
47cffe:	e8 0c 46 fb ff       	call   0x43160f
47d003:	51                   	push   %ecx
47d004:	ff 75 ec             	push   -0x14(%ebp)
47d007:	e8 a3 09 fa ff       	call   0x41d9af
47d00c:	33 f6                	xor    %esi,%esi
47d00e:	56                   	push   %esi
47d00f:	56                   	push   %esi
47d010:	e8 86 34 01 00       	call   0x49049b
47d015:	cc                   	int3
47d016:	8b ff                	mov    %edi,%edi
47d018:	55                   	push   %ebp
47d019:	8b ec                	mov    %esp,%ebp
47d01b:	8b 45 0c             	mov    0xc(%ebp),%eax
47d01e:	53                   	push   %ebx
47d01f:	56                   	push   %esi
47d020:	8b f1                	mov    %ecx,%esi
47d022:	8b 4d 08             	mov    0x8(%ebp),%ecx
47d025:	2b c1                	sub    %ecx,%eax
47d027:	83 c0 03             	add    $0x3,%eax
47d02a:	57                   	push   %edi
47d02b:	33 ff                	xor    %edi,%edi
47d02d:	c1 e8 02             	shr    $0x2,%eax
47d030:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
47d033:	1b db                	sbb    %ebx,%ebx
47d035:	f7 d3                	not    %ebx
47d037:	23 d8                	and    %eax,%ebx
47d039:	74 0f                	je     0x47d04a
47d03b:	2b ce                	sub    %esi,%ecx
47d03d:	8b 14 31             	mov    (%ecx,%esi,1),%edx
47d040:	89 16                	mov    %edx,(%esi)
47d042:	83 c6 04             	add    $0x4,%esi
47d045:	47                   	inc    %edi
47d046:	3b fb                	cmp    %ebx,%edi
47d048:	75 f3                	jne    0x47d03d
47d04a:	5f                   	pop    %edi
47d04b:	8b c6                	mov    %esi,%eax
47d04d:	5e                   	pop    %esi
47d04e:	5b                   	pop    %ebx
47d04f:	5d                   	pop    %ebp
47d050:	c3                   	ret
47d051:	cc                   	int3
47d052:	cc                   	int3
47d053:	cc                   	int3
47d054:	cc                   	int3