Function at 0x401e75
Capabilities:
Copy file
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4cc
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
push ebx
call fcn.00404cbd
pop ecx
push eax
push 0x9c42
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 1
lea eax, [ebp - 0x138]
push ebx
push eax
call fcn.004025d4
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test eax, eax
je 0x402210
push 0x392
lea eax, [ebp - 0x4cc]
push 0
push eax
call fcn.00402d0d
lea eax, [ebp - 0x4cc]
push eax
lea eax, [ebp - 0x138]
push 0xe4
push eax
call fcn.004041f9
add esp, 0x18
test eax, eax
je 0x401f23
push 0x410fc0
call edi
push str._DBG_
push 7
call fcn.00402b42
lea eax, [ebp - 0x4cc]
push eax
push ebx
push str.DEC_DATA___s___s_r_n
push 8
call fcn.00402b42
add esp, 0x18
push 0x410fc0
call esi
push 0x20
lea eax, [ebp - 0x88]
push eax
push 0
call fcn.004058d7
add esp, 0xc
cmp dword [ebp - 0x60], eax
jne 0x402210
and dword [ebp - 8], 0
and dword [ebp - 0xc], 0
push 0x100034
call fcn.00402c57
mov dword [ebp - 4], eax
pop ecx
test eax, eax
je 0x402204
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
cmp dword [0x410fac], 0
je 0x401fb3
lea eax, [ebp - 0x10]
push eax
push 0x58
lea eax, [ebp - 0x138]
push eax
push 0x410f60
call fcn.00405adc
add esp, 0x10
test eax, eax
je 0x4020e0
cmp dword [ebp - 0x10], 0x20
jne 0x4020e0
push 8
pop ecx
mov esi, eax
mov edi, 0x410f80
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.00402ca4
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
pop ecx
add eax, 4
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x88]
push eax
push 0x410f80
call fcn.00405a1d
mov ecx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ebp - 0x68]
add ecx, 0x24
add esp, 0xc
mov dword [ebp - 0x14], ecx
mov dword [ecx], eax
mov eax, dword [ebp - 0x64]
mov dword [ecx + 4], eax
cmp dword [0x410dd4], esi
je 0x402054
push ebx
call fcn.00404817
lea eax, [eax*2 + 0x40]
push eax
call fcn.00402c57
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x402054
push ebx
push esi
call fcn.0040476e
push str..BACKUP
push esi
call fcn.00404667
add esp, 0x10
push 0x410fc0
call edi
push str._DBG_
push 7
call fcn.00402b42
push esi
push str.__create:_s_r_n
push 8
call fcn.00402b42
add esp, 0x14
push 0x410fc0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x40
push 0x100
push dword [ebp - 0x10]
lea eax, [ebp - 0x54]
push eax
call fcn.004067bb
push dword [ebp - 0x14]
lea eax, [ebp - 0x54]
push eax
call fcn.0040679d
push 4
lea eax, [ebp - 0x58]
push eax
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.004066ee
add esp, 0x28
cmp dword [ebp - 0x58], 0
je 0x402130
push 0x410fc0
call edi
push str._ERR_
push 0xc
call fcn.00402b42
push str.invalid__pc_sk__key__r_n
push 4
call fcn.00402b42
push 0x1ed
push str.file_decrypt_callback
push str._srcdec.c
push str._______S:_S:_lu_r_n
push 4
call fcn.00402b42
add esp, 0x24
push 0x410fc0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
jmp 0x40214f
mov ebx, 0x410fc0
push ebx
call edi
push str._ERR_
push 0xc
call fcn.00402b42
push str.invalid__master_sk__key__r_n
push 4
call fcn.00402b42
push 0x1c7
push str.file_decrypt_callback
push str._srcdec.c
push str._______S:_S:_lu_r_n
push 4
call fcn.00402b42
add esp, 0x24
push ebx
call esi
mov eax, dword [ebp - 4]
push eax
call fcn.00402ca4
pop ecx
jmp 0x402255
push dword [ebp - 0x5c]
lea eax, [ebp - 0x54]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
push eax
push dword [ebp - 4]
call fcn.00401c5d
add esp, 0x18
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], edx
test esi, esi
je 0x4021d1
mov ecx, eax
or ecx, edx
je 0x40218d
mov ebx, 0x410fc0
push ebx
call edi
push str._DBG_
push 7
call fcn.00402b42
push esi
push str.__delete:_s_r_n
push 8
call fcn.00402b42
add esp, 0x14
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x4021ca
push 0x410fc0
call edi
push str._DBG_
push 7
call fcn.00402b42
push ebx
push str._restore:__s_r_n
push 8
call fcn.00402b42
add esp, 0x14
push 0x410fc0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push esi
call fcn.00402ca4
pop ecx
push dword [ebp - 4]
call fcn.00402ca4
mov esi, dword [ebp - 8]
mov eax, esi
mov edi, dword [ebp - 0xc]
or eax, edi
pop ecx
je 0x40220a
mov eax, dword [0x410dc8]
push 0
inc eax
push eax
push 0x9c41
push dword [ebp + 8]
mov dword [0x410dc8], eax
call dword [sym.imp.USER32.dll_SetDlgItemInt]
jmp 0x40220a
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov eax, esi
mov edx, edi
jmp 0x402259
push 0x410fc0
call edi
push str._ERR_
push 0xc
call fcn.00402b42
push ebx
push str.read__struct__DEC_DATA_:__s_r_n
push 4
call fcn.00402b42
push 0x20d
push str.file_decrypt_callback
push str._srcdec.c
push str._______S:_S:_lu_r_n
push 4
call fcn.00402b42
add esp, 0x28
push 0x410fc0
call esi
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret