Function at 0x473f40
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x488fcb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x650
mov eax, dword [0x4ce19c]
push ebx
push esi
xor esi, esi
mov ebx, 0x4adde8
mov dword [esp + 0x650], eax
push edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xa
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x668], esi
call fcn.00473b70
mov edi, eax
add esp, 4
cmp edi, esi
je 0x473fee
mov eax, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x664], 0xffffffff
mov dword [esp + 0x10], ebx
je 0x473fce
mov eax, dword [eax]
cmp eax, esi
jne 0x473fc8
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
call sub.MFC71U.DLL_CRecordset::FreeDataCache
mov eax, edi
jmp 0x474253
lea ecx, [esp + 0x10]
push ecx
call fcn.00473d50
mov edi, eax
add esp, 4
cmp edi, esi
mov dword [esp + 0x2c], edi
je 0x474020
lea ecx, [esp + 0x10]
mov dword [esp + 0x664], 0xffffffff
call fcn.004737c0
mov eax, edi
jmp 0x474253
mov edx, dword [ebp + 8]
push esi
push 1
push edx
call fcn.00463560
mov edi, dword [ebp + 0xc]
push edi
call fcn.004579e0
add esp, 0x10
test eax, eax
jne 0x474057
lea ecx, [esp + 0x10]
mov dword [esp + 0x664], 0xffffffff
call fcn.004737c0
xor eax, eax
jmp 0x474253
push 0x4addfc
push str.common
push edi
push str._s_s_s
lea eax, [esp + 0x48]
push 0x208
push eax
call fcn.00403fa3
lea ecx, [esp + 0x50]
push ecx
call fcn.004579e0
add esp, 0x1c
test eax, eax
je 0x4740b4
lea edx, [esp + 0x38]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4740b4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x3c]
push eax
push str.DeleteFile___failed_on__s._Error__d
push 0x48ae58
call fcn.004572b0
add esp, 0x10
push esi
push 0x80
push 2
push esi
push esi
push 0xc0000000
lea ecx, [esp + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [esp + 0x30], eax
jne 0x474116
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
lea edx, [esp + 0x3c]
push edx
push str.SaveSids___CreateFile__s__failed._Error__d
push 0x48ae58
call fcn.004572b0
add esp, 0x10
call esi
lea ecx, [esp + 0x10]
mov esi, eax
mov dword [esp + 0x664], 0xffffffff
call fcn.004737c0
mov eax, esi
jmp 0x474253
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
cmp ecx, esi
mov dword [esp + 0x34], esi
jle 0x4741ab
cmp ebx, ecx
jge 0x47419e
cmp ebx, esi
jl 0x47419e
mov eax, dword [esp + 0x14]
je 0x47413d
mov ecx, ebx
dec ecx
mov eax, dword [eax]
jne 0x474138
cmp eax, esi
je 0x47419e
mov edx, dword [esp + 0x30]
push 0
lea esi, [eax + 8]
lea eax, [esp + 0x38]
push eax
mov ecx, 0x104
lea edi, [esp + 0x248]
rep movsd dword es:[edi], dword [esi]
push 0x410
lea ecx, [esp + 0x24c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x47419c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x34]
push ecx
push 0x410
push eax
push str.SaveSids___WriteFile___failed._Error__d._List_Entry_Size_d._Bytes_Written_d.
push 0x48ae58
mov dword [esp + 0x40], eax
call fcn.004572b0
add esp, 0x14
xor esi, esi
mov ecx, dword [esp + 0x1c]
inc ebx
cmp ebx, ecx
jl 0x47412c
mov eax, dword [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4741d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SaveSids___CloseHandle___failed._Error__d.
push 0x48ae58
mov dword [esp + 0x38], eax
call fcn.004572b0
add esp, 0xc
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4741e6
jmp 0x4741e0
mov eax, dword [eax]
cmp eax, esi
jne 0x4741e0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
call sub.MFC71U.DLL_CRecordset::FreeDataCache
cmp dword [0x4e42f4], esi
mov dword [esp + 0x24], esi
je 0x474215
mov ecx, 0x4e42e8
call fcn.00473790
mov eax, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x664], 0xffffffff
mov dword [esp + 0x10], 0x4adde8
je 0x474236
mov eax, dword [eax]
cmp eax, esi
jne 0x474230
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
call sub.MFC71U.DLL_CRecordset::FreeDataCache
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x65c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x654]
call fcn.00475533
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret