Function at 0x430fc0
Capabilities:
Check if file exists
Copy file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x61c
mov eax, dword [0x67432c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [ebp - 0x414]
push esi
push edi
push 0x208
push 0
push eax
call fcn.00480640
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00480640
add esp, 0x18
call fcn.00451f46
test al, al
je 0x43101b
imul eax, dword [edi + 0x1a], 0xffffffed
dec esi
dec ebp
or dl, byte [ebx]
cld
sbb eax, 0x6249ac26
mov dl, 0x31
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 8
jb 0x431026
mov ecx, dword [ecx]
lea edx, [ebp - 0x414]
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x431030
cmp dword [ebx + 0x14], 8
jb 0x43104b
mov edx, dword [ebx]
jmp 0x43104d
mov edx, ebx
mov esi, edx
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x431050
lea edi, [ebp - 0x414]
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x431066
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x14], 8
jb 0x43108b
mov ecx, dword [ecx]
lea edx, [ebp - 0x20c]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x431091
cmp dword [ebx + 0x14], 8
jb 0x4310aa
mov ebx, dword [ebx]
mov esi, ebx
nop dword [eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4310b0
lea edi, [ebp - 0x20c]
sub ebx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4310c6
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004523db
test al, al
je 0x431106
sar dword [ebx + 0x3b742ed4], 0x49
xchg esp, eax
mov bl, 0xc6
in al, 0x33
aaa
retf 0xad73
call fcn.004524ef
test al, al
je 0x43112d
jmp 0x81da8bee
xor ebx, ebx
lea eax, [ebp - 0x20c]
push ebx
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x43124c
nop dword [eax]
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43124c
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
call int.0045443e
push 0x208
lea eax, [ebp - 0x61c]
push 0
push eax
call fcn.00480640
mov ch, 0xf4
add al, 0
push ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x61c]
push str._s.bak_d
push eax
call fcn.00407f60
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0048cfc6
add esp, 0x2c
lea eax, [ebp - 0x61c]
push 5
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp ebx, 0xa
jge 0x43124c
call fcn.004523db
test al, al
je 0x4311f4
int 0xf5
xor edx, dword [esi - 0x6468f74a]
sub al, 0xa5
cli
leave
call 0x46219b89
add dword [eax], 0xf0760cd2
jl 0x431187
ficom word [edx + 0x21044e8]
add byte [eax + eax*8 - 0x15f7ea8c], al
call fcn.0045223d
test al, al
je 0x431212
or dl, ch
leave
pop edi
ljmp 0x447e
call fcn.00452396
test al, al
je 0x43122d
pop edi
sbb dh, dl
pushal
xor bl, byte [eax + 0x76]
add ebp, edi
mov dl, 0x76
jae 0x431200
fisttp word [ecx + 0x58]
or al, 0x76
push 0
lea eax, [ebp - 0x20c]
inc ebx
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x431150
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046d81d
mov esp, ebp
pop ebp
ret 0xc