Function at 0x10095230
Capabilities:
Check if file exists
Copy file
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b576a
mov eax, dword fs:[0]
push eax
mov eax, 0x20dc
call fcn.100ac6d0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x20db], dl
mov edi, ecx
mov dword [ebp - 0x20e4], edi
xor ebx, ebx
lea ecx, [ebp - 0x20a8]
mov dword [ebp - 0x20e0], ebx
call fcn.10093df0
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x20a8]
cmp dword [ebp - 0x2094], 8
push edi
cmovae eax, dword [ebp - 0x20a8]
push eax
lea eax, [ebp - 0x890]
push str._svmsleidian_d
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
xor eax, eax
mov dword [ebp - 0x20ac], 7
add esp, 0x10
mov dword [ebp - 0x20b0], ebx
mov word [ebp - 0x20c0], ax
cmp word [ebp - 0x890], ax
jne 0x100952d7
xor ecx, ecx
jmp 0x100952ef
lea ecx, [ebp - 0x890]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100952e0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20c0]
call fcn.10005210
lea eax, [ebp - 0x20c0]
mov byte [ebp - 4], 1
push eax
call fcn.1009ba30
add esp, 4
mov byte [ebp - 4], 0
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test al, al
sete al
cmp dword [ebp - 0x20ac], 8
mov byte [ebp - 0x20d9], al
jb 0x10095344
push dword [ebp - 0x20c0]
call esi
mov al, byte [ebp - 0x20d9]
add esp, 4
test al, al
je 0x10095385
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20c0]
call fcn.10004da0
lea eax, [ebp - 0x20c0]
mov byte [ebp - 4], 2
push eax
call fcn.1009ba50
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x20ac], 8
jb 0x10095385
push dword [ebp - 0x20c0]
call esi
add esp, 4
cmp byte [ebp - 0x20db], 0
lea eax, [ebp - 0x20a8]
push str.system.vmdk
push edi
je 0x1009550a
cmp dword [ebp - 0x2094], 8
cmovae eax, dword [ebp - 0x20a8]
push eax
lea eax, [ebp - 0x890]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
lea eax, [ebp - 0x890]
lea ecx, [ebp - 0x20c0]
push eax
call fcn.10004da0
lea eax, [ebp - 0x20c0]
mov byte [ebp - 4], 3
push eax
call fcn.1009ba30
add esp, 4
mov byte [ebp - 4], 0
test al, al
sete al
cmp dword [ebp - 0x20ac], 8
mov byte [ebp - 0x20d9], al
jb 0x10095410
push dword [ebp - 0x20c0]
call esi
mov al, byte [ebp - 0x20d9]
add esp, 4
test al, al
je 0x100954d8
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.system_copying.vmdk
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x1090]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
lea edx, [ebp - 0x20a8]
lea ecx, [ebp - 0x20c0]
push str.system.vmdk
call fcn.10012260
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x10095469
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x1090]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x10095499
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x10095499
xor bl, bl
jmp 0x1009549b
mov bl, 1
cmp dword [ebp - 0x20ac], 8
mov dword [ebp - 0x20e0], 0
jb 0x100954b9
push dword [ebp - 0x20c0]
call esi
add esp, 4
test bl, bl
je 0x100954d2
lea eax, [ebp - 0x890]
push eax
push str.copy__s_failed_n
call dword [sym.imp.MSVCR120.dll_wprintf]
add esp, 8
mov ebx, dword [ebp - 0x20e0]
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10095588
test al, 1
je 0x10095588
push 0x80
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x10095588
cmp dword [ebp - 0x2094], 8
cmovae eax, dword [ebp - 0x20a8]
push eax
lea eax, [ebp - 0x890]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
lea eax, [ebp - 0x890]
lea ecx, [ebp - 0x20c0]
push eax
call fcn.10004da0
lea eax, [ebp - 0x20c0]
mov byte [ebp - 4], 4
push eax
call fcn.1009ba30
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x20ac], 8
mov byte [ebp - 0x20d9], al
jb 0x10095577
push dword [ebp - 0x20c0]
call esi
mov al, byte [ebp - 0x20d9]
add esp, 4
test al, al
je 0x10095588
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.sdcard.vmdk
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x2090]
mov byte [ebp - 0x20d9], 0
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
lea eax, [ebp - 0x20a8]
cmp dword [ebp - 0x2094], 8
cmovae eax, dword [ebp - 0x20a8]
push str.data.vmdk
push edi
push eax
lea eax, [ebp - 0x890]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
xor eax, eax
mov dword [ebp - 0x20ac], 7
add esp, 0x14
mov dword [ebp - 0x20b0], 0
mov word [ebp - 0x20c0], ax
cmp word [ebp - 0x890], ax
jne 0x10095619
xor ecx, ecx
jmp 0x10095631
lea ecx, [ebp - 0x890]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10095622
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20c0]
call fcn.10005210
lea eax, [ebp - 0x20c0]
mov byte [ebp - 4], 5
push eax
call fcn.1009ba30
add esp, 4
mov byte [ebp - 4], 0
test al, al
sete al
cmp dword [ebp - 0x20ac], 8
mov byte [ebp - 0x20da], al
jb 0x10095680
push dword [ebp - 0x20c0]
call esi
mov al, byte [ebp - 0x20da]
add esp, 4
test al, al
je 0x1009574d
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.data_copying.vmdk
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x1090]
mov byte [ebp - 0x20d9], 1
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
lea edx, [ebp - 0x20a8]
lea ecx, [ebp - 0x20c0]
push str.data.vmdk
call fcn.10012260
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x100956e0
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x1090]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x10095713
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov byte [ebp - 0x20da], 0
test eax, eax
jne 0x1009571a
mov byte [ebp - 0x20da], 1
xor ebx, ebx
cmp dword [ebp - 0x20ac], 8
jb 0x10095730
push dword [ebp - 0x20c0]
call esi
add esp, 4
cmp byte [ebp - 0x20da], bl
je 0x1009574d
lea eax, [ebp - 0x890]
push eax
push str.copy__s_failed_n
call dword [sym.imp.MSVCR120.dll_wprintf]
add esp, 8
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10095775
test al, 1
je 0x10095775
push 0x80
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.sdcard_clear.flag
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x1090]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x100957c2
cmp byte [ebp - 0x20d9], al
je 0x100958a4
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
mov ebx, dword [sym.imp.MSVCR120.dll__swprintf]
cmovae eax, dword [ebp - 0x20a8]
push str.sdcard_deleting.vmdk
push edi
push eax
lea eax, [ebp - 0x1090]
push str._svmsleidian_d_s
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0x1090]
push eax
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x10095819
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.sdcard_copying.vmdk
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x1090]
push str._svmsleidian_d_s
push eax
call ebx
add esp, 0x14
lea edx, [ebp - 0x20a8]
lea ecx, [ebp - 0x20c0]
push str.data.vmdk
call fcn.10012260
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x10095866
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x1090]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x1009588e
lea eax, [ebp - 0x2090]
push eax
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
xor ebx, ebx
cmp dword [ebp - 0x20ac], 8
jb 0x100958a4
push dword [ebp - 0x20c0]
call esi
add esp, 4
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x100958ce
test al, 1
je 0x10095909
push 0x80
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x10095909
lea eax, [ebp - 0x2090]
push eax
lea ecx, [ebp - 0x20c0]
call fcn.10004da0
lea eax, [ebp - 0x20c0]
mov byte [ebp - 4], 6
mov ebx, 8
push eax
mov dword [ebp - 0x20e0], ebx
call fcn.1009ba30
add esp, 4
mov byte [ebp - 0x20d9], 0
test al, al
je 0x10095910
mov byte [ebp - 0x20d9], 1
mov dword [ebp - 4], 0
test bl, 8
je 0x10095930
cmp dword [ebp - 0x20ac], 8
jb 0x10095930
push dword [ebp - 0x20c0]
call esi
add esp, 4
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.leidian.vbox
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x890]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
xor eax, eax
mov dword [ebp - 0x20ac], 7
add esp, 0x14
mov dword [ebp - 0x20b0], 0
mov word [ebp - 0x20c0], ax
cmp word [ebp - 0x890], ax
jne 0x1009598a
xor ecx, ecx
jmp 0x100959a2
lea ecx, [ebp - 0x890]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10095993
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20c0]
call fcn.10005210
lea eax, [ebp - 0x20c0]
mov byte [ebp - 4], 7
push eax
call fcn.1009ba30
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x20ac], 8
jb 0x100959e0
push dword [ebp - 0x20c0]
call esi
add esp, 4
cmp byte [ebp - 0x20db], 0
lea eax, [ebp - 0x20a8]
mov ebx, dword [sym.imp.MSVCR120.dll_sprintf]
push str.system.vmdk
je 0x10095a3f
cmp dword [ebp - 0x2094], 8
push edi
cmovae eax, dword [ebp - 0x20a8]
push eax
lea eax, [ebp - 0x1890]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
push edi
call fcn.10094250
movzx eax, ax
push eax
lea eax, [ebp - 0x90]
push str.20160302_bbbb_bbbb__04x_0000_08x
push eax
call ebx
add esp, 0x10
jmp 0x10095ada
cmp dword [ebp - 0x2094], 8
cmovae eax, dword [ebp - 0x20a8]
push eax
lea eax, [ebp - 0x1890]
push str._svms.._s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x10
lea ecx, [ebp - 0x20d8]
call fcn.100943b0
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x20c0]
call fcn.10094450
mov byte [ebp - 4], 0
cmp dword [ebp - 0x20c4], 8
jb 0x10095a97
push dword [ebp - 0x20d8]
call esi
add esp, 4
mov ebx, dword [ebp - 0x20ac]
lea ecx, [ebp - 0x20c0]
mov edi, dword [ebp - 0x20c0]
lea edx, [ebp - 0x90]
cmp ebx, 0x10
cmovae ecx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10095ab5
cmp ebx, 0x10
jb 0x10095ace
push edi
call esi
add esp, 4
mov edi, dword [ebp - 0x20e4]
mov ebx, dword [sym.imp.MSVCR120.dll_sprintf]
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10094f90
test al, al
jne 0x10095b00
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10094c80
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.data.vmdk
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x1890]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
push edi
call fcn.10094250
movzx eax, ax
push eax
lea eax, [ebp - 0x90]
push str.20160302_cccc_cccc__04x_0000_08x
push eax
call ebx
add esp, 0x10
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10094f90
test al, al
jne 0x10095b71
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10094c80
cmp byte [ebp - 0x20d9], 0
je 0x10095beb
cmp dword [ebp - 0x2094], 8
lea eax, [ebp - 0x20a8]
push str.sdcard.vmdk
cmovae eax, dword [ebp - 0x20a8]
push edi
push eax
lea eax, [ebp - 0x1890]
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
push edi
call fcn.10094250
movzx eax, ax
push eax
lea eax, [ebp - 0x90]
push str.20160302_dddd_dddd__04x_0000_08x
push eax
call ebx
add esp, 0x10
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10094f90
test al, al
jne 0x10095beb
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10094c80
cmp dword [ebp - 0x2094], 8
jb 0x10095bff
push dword [ebp - 0x20a8]
call esi
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ab974
mov esp, ebp
pop ebp
ret