Function at 0x4313d0
Capabilities:
Check if file exists
Copy 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.00480620
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00480620
add esp, 0x18
call fcn.00451f63
test al, al
je 0x43142b
pop ecx
int 1
dec ecx
sub al, 0xba
add al, dh
mov ebp, dword [eax]
clc
dec edx
xchg ecx, eax
movsd dword es:[edi], dword [esi]
push eax
cld
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 8
jb 0x431436
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 0x431440
cmp dword [ebx + 0x14], 8
jb 0x43145b
mov edx, dword [ebx]
jmp 0x43145d
mov edx, ebx
mov esi, edx
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x431460
lea edi, [ebp - 0x414]
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x431476
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 0x43149b
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 0x4314a1
cmp dword [ebx + 0x14], 8
jb 0x4314ba
mov ebx, dword [ebx]
mov esi, ebx
nop dword [eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4314c0
lea edi, [ebp - 0x20c]
sub ebx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4314d6
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.004523f8
test al, al
je 0x431516
xchg dword [ebx - 0x763c096a], ebp
nop
aam 0x89
push eax
mov edx, dword [edx + 0x4c]
xchg edi, eax
push ebp
out 0xb0, eax
adc dword [ebx - 0x69], esp
adc al, 0x6a
mov edi, esp
pop edx
retf
call fcn.0045250c
test al, al
je 0x43153d
mov cs, word [eax - 0x30]
mov bl, 0x43
aam 0xe6
and esi, eax
retf 0xbcb8
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 0x43165c
nop dword [eax]
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43165c
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.0045445b
push 0x208
lea eax, [ebp - 0x61c]
push 0
push eax
call fcn.00480620
push ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x61c]
push str._s.bak_d
push eax
call fcn.00407df0
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0048cfd6
add esp, 0x2c
lea eax, [ebp - 0x61c]
push 5
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp ebx, 0xa
jge 0x43165c
call fcn.004523f8
test al, al
je 0x431604
xchg esi, eax
mov edi, 0xf923da29
and dword [edx + 0x3a5b786a], ebx
mov edi, eax
dec edi
invalid
call fcn.0045225a
test al, al
je 0x431622
ret 0xf9a9
call fcn.004523b3
test al, al
je 0x43163d
imul eax, dword [edi - 0x4ccb8984], 0x16
xor al, 0xb3
push ss
jg 0x43162f
jae 0x431648
dec esp
fst dword [ebx + esi*4 + 0x35]
sal cl, 0x6a
add byte [ebp - 0x20b7b], cl
inc dword [ebx + 0x50]
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 0x431560
test esp, ebp
sti
invalid
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046d802
mov esp, ebp
pop ebp
ret 0xc