Function at 0x47d508
Capabilities:
Get file size
Write file on windows

Disassembly:
push 0x14
mov eax, 0x4d8425
call fcn.004cbc30
mov esi, ecx
lea ebx, [esi + 4]
xor edi, edi
mov ecx, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
call sym.QQProtectUpd.exe_public:_bool___thiscall_CTXStringW::IsEmpty_void_const
test al, al
jne 0x47d6a1
lea ecx, [esi + 0xc]
mov dword [ebp - 0x18], ecx
call fcn.0042fea0
test eax, eax
jbe 0x47d6a1
cmp dword [esi + 8], 0xffffffff
jne 0x47d6a1
push edi
push edi
push 4
push edi
push 7
push 0x40000000
mov ecx, ebx
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [esi + 8], eax
je 0x47d676
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
jne 0x47d59f
push edi
lea eax, [ebp - 0x1c]
push eax
push 2
lea eax, [ebp - 0x14]
push eax
push dword [esi + 8]
mov dword [ebp - 0x14], 0xfeff
mov dword [ebp - 0x1c], edi
call ebx
push 2
push edi
push edi
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edi
call fcn.0042fea0
test eax, eax
jbe 0x47d665
mov ecx, dword [ebp - 0x18]
push 0x4e8140
push dword [ebp - 0x14]
call fcn.004525b7
push eax
lea eax, [ebp - 0x10]
push eax
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
push edi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], edi
mov dword [ebp - 0x1c], edi
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::GetLength_void_const
add eax, eax
push eax
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
push dword [esi + 8]
call ebx
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::GetLength_void_const
add eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x47d62d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov ecx, dword [ebp - 0x18]
inc dword [ebp - 0x14]
call fcn.0042fea0
cmp dword [ebp - 0x14], eax
jb 0x47d5bf
jmp 0x47d665
mov ecx, dword [ebp - 0x20]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
push str.Write_Convert_List_File_Error
push str.FileSystem
push 2
push str.CTXFSControlMgr::SaveConvertList
push 0x9b
push str.....SourceCommonFileSystemFSControlMgr.cpp
call fcn.00442b40
or dword [ebp - 4], 0xffffffff
add esp, 0x1c
lea ecx, [ebp - 0x10]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov ecx, dword [ebp - 0x18]
call fcn.0045b771
mov dword [ebp - 0x1c], 1
jmp 0x47d6a1
mov ecx, ebx
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
push str.Open_Convert_List_File_Error
push str.FileSystem
push 2
push str.CTXFSControlMgr::SaveConvertList
push 0xa5
push str.....SourceCommonFileSystemFSControlMgr.cpp
call fcn.00442b40
add esp, 0x1c
mov eax, dword [ebp - 0x1c]
call fcn.004cbd08
ret