Function at 0x42b5fb
Capabilities:
Check if file exists
Copy file
Delete file
Get file attributes

Disassembly:
push 0x1f8
mov eax, 0x4325d2
call fcn.004148fb
mov dword [ebp - 0xe0], ecx
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xc8], ebx
call fcn.00412d30
cmp dword [esi + 0x18], 8
lea ecx, [esi + 4]
mov dword [ebp - 0xe4], eax
jb 0x42b637
mov ecx, dword [ecx]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42ba1a
test al, 0x10
je 0x42ba1a
cmp dword [esi + 0x54], 8
lea edi, [esi + 0x3c]
mov dword [ebp - 0xdc], edi
lea eax, [esi + 0x40]
jb 0x42b663
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42ba6e
test al, 0x10
je 0x42ba6e
xor edi, edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], edi
lea eax, [ebp - 0xf4]
mov dword [ebp - 4], 4
push eax
movzx eax, byte [esi + 0x38]
push eax
sub esp, 0x1c
lea eax, [esi + 0x1c]
mov ecx, esp
mov dword [ebp - 0xd4], esp
push eax
call fcn.0040b470
sub esp, 0x1c
mov byte [ebp - 4], 5
mov ecx, esp
push esi
call fcn.0040b470
mov byte [ebp - 4], 4
call fcn.0041aacf
mov esi, edi
mov dword [ebp - 0xd0], edi
mov edx, edi
mov dword [ebp - 0xd4], 0x1c
inc edi
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xcc], edx
test ecx, ecx
jne 0x42b6f7
xor eax, eax
jmp 0x42b70c
mov eax, dword [ebp - 0xec]
sub eax, ecx
cdq
idiv dword [ebp - 0xd4]
mov edx, dword [ebp - 0xcc]
cmp esi, eax
jae 0x42ba07
lea eax, [ecx + edx]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040b470
push 0x5c
pop eax
push edi
mov word [ebp - 0xc8], ax
lea ecx, [ebp - 0x48]
push 0xffffffffffffffff
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 6
push eax
call fcn.0042b129
and dword [ebp - 0x50], 0
xor ecx, ecx
push 0xffffffffffffffff
mov word [ebp - 0x60], cx
lea ecx, [ebp - 0x64]
lea esi, [eax + 1]
mov dword [ebp - 0x4c], 7
push esi
lea eax, [ebp - 0x48]
push eax
call fcn.0040b6f9
or ebx, 4
mov dword [ebp - 0xc8], ebx
mov eax, dword [ebp - 0xd8]
push 7
pop ecx
mov byte [ebp - 4], cl
cmp dword [eax + 0x14], esi
jae 0x42b7a8
push 0xffffffffffffffff
push dword [eax + 0x14]
mov dword [ebp - 0x14], ecx
lea eax, [ebp - 0x48]
xor ecx, ecx
xor esi, esi
mov word [ebp - 0x28], cx
lea ecx, [ebp - 0x2c]
push eax
mov dword [ebp - 0x18], esi
call fcn.0040b6f9
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 8
or ebx, 9
jmp 0x42b7df
mov dword [ebp - 0x90], ecx
xor eax, eax
xor esi, esi
mov word [ebp - 0xa4], ax
push 0x4061bc
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x94], esi
call fcn.0040b660
lea eax, [ebp - 0xa8]
mov dword [ebp - 4], 9
or ebx, 2
push eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc8], ebx
call fcn.0040b470
mov dword [ebp - 4], 0xa
test bl, 2
je 0x42b80d
push esi
push edi
lea ecx, [ebp - 0xa8]
and ebx, 0xfffffffd
call fcn.0040b613
mov byte [ebp - 4], 0xc
test bl, 1
je 0x42b823
push esi
push edi
lea ecx, [ebp - 0x2c]
and ebx, 0xfffffffe
call fcn.0040b613
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xdc]
lea eax, [ebp - 0x80]
push eax
call fcn.0040e0d5
add esp, 0xc
mov eax, dword [ebp - 0xe0]
add eax, 0x28
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0041af11
push edi
push 3
lea ecx, [ebp - 0x204]
call fcn.0040fb3a
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0040e0d5
add esp, 0xc
push eax
push 0x404588
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x1fc]
push 0x4045a8
push eax
call fcn.0040f341
pop ecx
pop ecx
push eax
call fcn.0040f49f
pop ecx
pop ecx
push eax
call fcn.0040f341
pop ecx
pop ecx
push eax
call fcn.0040f49f
pop ecx
pop ecx
push esi
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.0040b613
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x1f8]
call fcn.004133d2
or ebx, 0x10
push 2
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x10
push eax
call fcn.0041541f
push esi
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.0040b613
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0040e0d5
add esp, 0xc
lea ecx, [eax + 4]
cmp dword [eax + 0x18], 8
jb 0x42b90e
mov ecx, dword [ecx]
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x42b91a
lea eax, [ebp - 0x44]
push esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0
push edi
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.0040b613
test esi, esi
jne 0x42b95b
sub esp, 0x1c
mov ecx, esp
push 0x4045c8
call fcn.0040b41d
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x42b955
movzx eax, ax
or eax, 0x80070000
push eax
call fcn.004150e1
mov ecx, dword [ebp - 0xe4]
push edi
push fcn.004154a0
call fcn.0041c057
test al, al
je 0x42b9ae
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x42b97c
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42b9ae
sub esp, 0x1c
mov ecx, esp
push 0x4045dc
call fcn.0040b41d
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x42b9a8
movzx eax, ax
or eax, 0x80070000
push eax
call fcn.004161f4
lea ecx, [ebp - 0x204]
call fcn.004109cb
xor esi, esi
lea ecx, [ebp - 0x80]
push esi
push edi
call fcn.0040b613
push esi
push edi
lea ecx, [ebp - 0xc4]
call fcn.0040b613
push esi
push edi
lea ecx, [ebp - 0x64]
call fcn.0040b613
push esi
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.0040b613
mov esi, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
inc esi
push 0x1c
pop eax
mov dword [ebp - 0xd0], esi
add edx, eax
jmp 0x42b6e3
lea ecx, [ebp - 0xf4]
call fcn.00411f06
call fcn.004148aa
ret 4
push 1
push 3
lea ecx, [ebp - 0x17c]
call fcn.0040fb3a
and dword [ebp - 4], 0
lea eax, [ebp - 0x174]
push 0x404520
push esi
push 0x404540
push eax
call fcn.0040f341
pop ecx
pop ecx
push eax
call fcn.0040f49f
pop ecx
pop ecx
push eax
call fcn.0040f341
pop ecx
pop ecx
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x17c]
call fcn.0041348e
mov byte [ebp - 4], 1
jmp 0x42bac3
push 1
push 3
lea ecx, [ebp - 0x17c]
call fcn.0040fb3a
push 0x404520
push edi
lea eax, [ebp - 0x174]
mov dword [ebp - 4], 2
push 0x404564
push eax
call fcn.0040f341
pop ecx
pop ecx
push eax
call fcn.0040f49f
pop ecx
pop ecx
push eax
call fcn.0040f341
pop ecx
pop ecx
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x17c]
call fcn.0041348e
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040fd79
push 0x43410c
lea eax, [ebp - 0x8c]
push eax
call sub.msvcrt.dll__CxxThrowException
int3