Function at 0x40b8d0
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3a4
mov eax, dword [0x44700c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x274], ecx
push 0x11c
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x27c], 0
push edi
push eax
mov ebx, edx
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x1c], 0x12c
mov dword [ebp - 0x18], 0x1f4
mov dword [ebp - 0x14], 0x2bc
mov dword [ebp - 0x10], 0x3e8
mov dword [ebp - 0xc], 0x5dc
mov dword [ebp - 8], 0x7d0
call fcn.0041c000
add esp, 0xc
push str.NTDLL.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x40b973
push str.RtlGetVersion
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40b973
lea ecx, [ebp - 0x3a0]
mov dword [ebp - 0x3a0], 0x11c
push ecx
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x39c], 6
jne 0x40b98f
cmp dword [ebp - 0x398], edi
je 0x40ba40
push str.Kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x280], eax
test eax, eax
je 0x40ba40
push str.MoveFileExW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x40ba12
push 9
push ebx
push dword [ebp - 0x274]
mov dword [ebp - 0x27c], 1
call esi
test eax, eax
jne 0x40ba12
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x40ba02
cmp eax, 3
je 0x40ba02
push dword [ebp + edi*4 - 0x1c]
call dword [sym.imp.KERNEL32.dll_Sleep]
push 9
push ebx
push dword [ebp - 0x274]
call esi
inc edi
test eax, eax
jne 0x40ba12
cmp edi, 6
jb 0x40b9e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x278], esi
jmp 0x40ba14
xor esi, esi
push dword [ebp - 0x280]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x27c], 0
je 0x40ba40
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00419174
mov esp, ebp
pop ebp
ret
push dword [ebp + edi*4 - 0x1c]
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x250
lea eax, [ebp - 0x270]
push 0
push eax
call fcn.0041c000
add esp, 0xc
lea eax, [ebp - 0x270]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
je 0x40ba93
mov esi, dword [ebp - 0x270]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
and esi, 0x10
sete al
test eax, eax
je 0x40ba93
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push dword [ebp - 0x274]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x40badf
cmp eax, 3
je 0x40badf
inc edi
test esi, esi
jne 0x40bafa
cmp edi, 6
jb 0x40ba40
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00419174
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x40bafa
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00419174
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x278]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00419174
mov esp, ebp
pop ebp
ret