Function at 0x4078dc
Capabilities:
Check if file exists
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa38
push ebx
xor ebx, ebx
cmp dword [ebp + 8], ebx
push esi
push edi
mov dword [ebp - 4], ecx
je 0x407b8d
mov edx, 0x81
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x82e]
mov word [ebp - 0x830], bx
mov word [ebp - 0x628], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x626]
push 1
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, 0x104
or dword [ebp - 0xc], 0xffffffff
push ebx
lea eax, [ebp - 0x830]
push esi
push eax
push dword [ebp + 8]
mov dword [ebp - 8], ebx
push ebx
call fcn.0041f243
push 1
push ebx
lea eax, [ebp - 0x628]
push esi
push eax
push ebx
push ebx
call fcn.0041f243
mov edi, dword [ebp - 4]
add esp, 0x30
lea eax, [ebp - 8]
mov ecx, edi
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 8]
call fcn.00407ef6
test eax, eax
jne 0x407987
push ebx
mov ecx, edi
push dword [ebp + 8]
call fcn.004077ae
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
push 1
mov ecx, edi
push dword [ebp + 8]
call fcn.004077ae
mov eax, dword [edi + 0x430]
cmp eax, dword [ebp - 8]
jne 0x4079c3
cmp eax, ebx
je 0x4079bd
push 1
mov ecx, edi
push dword [ebp + 8]
call fcn.00408c8e
push dword [ebp + 8]
mov ecx, edi
call fcn.00407b95
jmp 0x407b8d
push ebx
jmp 0x407b6e
cmp eax, ebx
je 0x407a51
lea eax, [ebp - 0x830]
push ebx
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x40797e
push dword [ebp + 8]
mov ecx, edi
call fcn.004083f5
test eax, eax
je 0x40797e
push 1
mov ecx, edi
push dword [ebp + 8]
call fcn.00408c8e
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xa36]
mov word [ebp - 0xa38], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 1
push ebx
lea eax, [ebp - 0xa38]
push esi
push eax
push dword [ebp + 8]
push ebx
call fcn.0041f243
lea eax, [ebp - 0xa38]
push eax
call fcn.0041f36c
add esp, 0x1c
mov ecx, dword [ebp - 4]
push eax
lea eax, [ebp - 0xa38]
push eax
push dword [ebp + 8]
call fcn.00408c57
jmp 0x407b8d
mov edx, 0x81
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x216]
mov word [ebp - 0x218], bx
mov word [ebp - 0x420], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x41e]
push esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x218]
push eax
push 3
call fcn.0041dc67
add esp, 0xc
lea eax, [ebp - 0x218]
push esi
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov esi, dword [sym.imp.MSVCRT.dll__wtmpnam]
push ebx
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
call edi
push ebx
call esi
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
call edi
push dword [ebp + 8]
lea eax, [ebp - 0x218]
push eax
call fcn.0041f451
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0041f4b4
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0041f3ec
mov edi, dword [ebp - 4]
add esp, 0x18
lea eax, [ebp - 0x420]
mov ecx, edi
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp + 8]
call fcn.004080aa
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x218]
push eax
call esi
lea eax, [ebp - 0x420]
mov dword [ebp - 4], ebx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x407b55
lea eax, [ebp - 0x420]
push eax
call fcn.0041f3cf
mov dword [ebp - 4], eax
pop ecx
lea eax, [ebp - 0x420]
push eax
call esi
cmp dword [ebp - 0x10], ebx
je 0x40797e
mov eax, dword [edi + 0x430]
cmp dword [ebp - 4], eax
jne 0x40797e
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.00408c8e
lea eax, [ebp - 0x628]
push ebx
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 1
pop eax
jmp 0x407980