Function at 0x10097eb0
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 0x100b753b
mov eax, dword fs:[0]
push eax
mov eax, 0x20f4
call fcn.100ae320
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 bh, dl
mov byte [ebp - 0x20f2], bh
mov edi, ecx
mov dword [ebp - 0x20fc], edi
xor eax, eax
lea ecx, [ebp - 0x20c0]
mov dword [ebp - 0x20f8], eax
mov dword [ebp - 0x2100], eax
call fcn.10096a40
mov dword [ebp - 4], 0
lea eax, [ebp - 0x20c0]
cmp dword [ebp - 0x20ac], 8
push edi
cmovae eax, dword [ebp - 0x20c0]
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 - 0x2094], 7
add esp, 0x10
mov dword [ebp - 0x2098], 0
mov word [ebp - 0x20a8], ax
cmp word [ebp - 0x890], ax
jne 0x10097f67
xor ecx, ecx
jmp 0x10097f7f
lea ecx, [ebp - 0x890]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10097f70
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20a8]
call fcn.10005c80
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 1
push eax
call fcn.1009ee50
add esp, 4
mov byte [ebp - 4], 0
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test al, al
sete bl
cmp dword [ebp - 0x2094], 8
jb 0x10097fc8
push dword [ebp - 0x20a8]
call esi
add esp, 4
test bl, bl
je 0x10098009
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20a8]
call fcn.10005760
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 2
push eax
call fcn.1009ee70
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x2094], 8
jb 0x10098009
push dword [ebp - 0x20a8]
call esi
add esp, 4
lea eax, [ebp - 0x20c0]
push str.system.vmdk
push edi
test bh, bh
je 0x10098175
cmp dword [ebp - 0x20ac], 8
cmovae eax, dword [ebp - 0x20c0]
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 - 0x20a8]
push eax
call fcn.10005760
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 3
push eax
call fcn.1009ee50
add esp, 4
mov byte [ebp - 4], 0
test al, al
sete bl
cmp dword [ebp - 0x2094], 8
jb 0x10098083
push dword [ebp - 0x20a8]
call esi
add esp, 4
test bl, bl
je 0x10098143
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
push str.system_copying.vmdk
cmovae eax, dword [ebp - 0x20c0]
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 - 0x20c0]
lea ecx, [ebp - 0x20a8]
push str.system.vmdk
call fcn.10012c00
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x100980dc
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 0x1009810c
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x1009810c
xor bl, bl
jmp 0x1009810e
mov bl, 1
xor eax, eax
cmp dword [ebp - 0x2094], 8
mov dword [ebp - 0x20f8], eax
jb 0x1009812a
push dword [ebp - 0x20a8]
call esi
add esp, 4
test bl, bl
je 0x10098143
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 0x100981e9
test al, 1
je 0x100981e9
push 0x80
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x100981e9
cmp dword [ebp - 0x20ac], 8
cmovae eax, dword [ebp - 0x20c0]
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 - 0x20a8]
push eax
call fcn.10005760
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 4
push eax
call fcn.1009ee50
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x2094], 8
mov bl, al
jb 0x100981d8
push dword [ebp - 0x20a8]
call esi
add esp, 4
test bl, bl
je 0x100981e9
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
mov ebx, dword [sym.imp.MSVCR120.dll__swprintf]
cmovae eax, dword [ebp - 0x20c0]
push str.sdcard.vmdk
push edi
push eax
lea eax, [ebp - 0x2090]
mov byte [ebp - 0x20f1], 0
push str._svmsleidian_d_s
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0x20c0]
cmp dword [ebp - 0x20ac], 8
cmovae eax, dword [ebp - 0x20c0]
push str.data.vmdk
push edi
push eax
lea eax, [ebp - 0x890]
push str._svmsleidian_d_s
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x2094], 7
add esp, 0x14
mov dword [ebp - 0x2098], 0
mov word [ebp - 0x20a8], ax
cmp word [ebp - 0x890], ax
jne 0x10098278
xor ecx, ecx
jmp 0x10098290
lea ecx, [ebp - 0x890]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10098281
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20a8]
call fcn.10005c80
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 5
push eax
call fcn.1009ee50
add esp, 4
mov byte [ebp - 4], 0
test al, al
sete bl
cmp dword [ebp - 0x2094], 8
jb 0x100982d3
push dword [ebp - 0x20a8]
call esi
add esp, 4
test bl, bl
je 0x1009839a
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
push str.data_copying.vmdk
cmovae eax, dword [ebp - 0x20c0]
push edi
push eax
lea eax, [ebp - 0x1090]
mov byte [ebp - 0x20f1], 1
push str._svmsleidian_d_s
push eax
call dword [sym.imp.MSVCR120.dll__swprintf]
add esp, 0x14
lea edx, [ebp - 0x20c0]
lea ecx, [ebp - 0x20a8]
push str.data.vmdk
call fcn.10012c00
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x10098333
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 0x10098363
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x10098363
xor bl, bl
jmp 0x10098365
mov bl, 1
xor eax, eax
cmp dword [ebp - 0x2094], 8
mov dword [ebp - 0x20f8], eax
jb 0x10098381
push dword [ebp - 0x20a8]
call esi
add esp, 4
test bl, bl
je 0x1009839a
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 0x100983c2
test al, 1
je 0x100983c2
push 0x80
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
mov ebx, dword [sym.imp.MSVCR120.dll__swprintf]
cmovae eax, dword [ebp - 0x20c0]
push str.sdcard_clear.flag
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
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10098411
cmp byte [ebp - 0x20f1], al
je 0x1009860e
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
push str.sdcard_deleting.vmdk
cmovae eax, dword [ebp - 0x20c0]
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 0x10098462
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
push str.sdcard_copying.vmdk
cmovae eax, dword [ebp - 0x20c0]
push edi
push eax
lea eax, [ebp - 0x1090]
push str._svmsleidian_d_s
push eax
call ebx
add esp, 0x14
lea edx, [ebp - 0x20c0]
lea ecx, [ebp - 0x20d8]
push str.data.vmdk
call fcn.10012c00
add esp, 4
push str.sdcard.vmdk
lea edx, [ebp - 0x20c0]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x20f0]
call fcn.10012c00
add esp, 4
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
jb 0x100984d0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x20a8]
call fcn.10005760
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 8
push eax
call fcn.1009ee50
add esp, 4
mov bl, al
cmp dword [ebp - 0x2094], 8
jb 0x10098505
push dword [ebp - 0x20a8]
call esi
add esp, 4
xor eax, eax
mov byte [ebp - 4], 6
cmp dword [ebp - 0x20dc], 8
mov dword [ebp - 0x2094], 7
mov dword [ebp - 0x2098], 0
mov word [ebp - 0x20a8], ax
jb 0x1009853a
push dword [ebp - 0x20f0]
call esi
add esp, 4
test bl, bl
je 0x100985ba
push str.sdcard.vmdk
lea edx, [ebp - 0x20c0]
lea ecx, [ebp - 0x20f0]
call fcn.10012c00
mov edi, eax
add esp, 4
lea eax, [ebp - 0x20d8]
cmp eax, edi
je 0x100985a0
cmp dword [ebp - 0x20c4], 8
jb 0x10098577
push dword [ebp - 0x20d8]
call esi
add esp, 4
xor eax, eax
mov dword [ebp - 0x20c4], 7
push edi
lea ecx, [ebp - 0x20d8]
mov dword [ebp - 0x20c8], 0
mov word [ebp - 0x20d8], ax
call fcn.10005a10
cmp dword [ebp - 0x20dc], 8
jb 0x100985b4
push dword [ebp - 0x20f0]
call esi
add esp, 4
mov edi, dword [ebp - 0x20fc]
cmp dword [ebp - 0x20c4], 8
lea ecx, [ebp - 0x1090]
push 0
lea eax, [ebp - 0x20d8]
cmovae eax, dword [ebp - 0x20d8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x100985f6
lea eax, [ebp - 0x2090]
push eax
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov byte [ebp - 4], 0
cmp dword [ebp - 0x20c4], 8
jb 0x1009860e
push dword [ebp - 0x20d8]
call esi
add esp, 4
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x100986c1
test al, 1
je 0x1009863a
push 0x80
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ebx, dword [ebp - 0x20f8]
mov byte [ebp - 0x20f1], 1
mov dword [ebp - 4], 0
test bl, 4
je 0x10098667
cmp dword [ebp - 0x2094], 8
jb 0x10098667
push dword [ebp - 0x20a8]
call esi
add esp, 4
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
push str.leidian.vbox
cmovae eax, dword [ebp - 0x20c0]
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 - 0x2094], 7
add esp, 0x14
mov dword [ebp - 0x2098], 0
mov word [ebp - 0x20a8], ax
cmp word [ebp - 0x890], ax
jne 0x10098704
xor ecx, ecx
jmp 0x1009871f
lea eax, [ebp - 0x2090]
push eax
lea ecx, [ebp - 0x20a8]
call fcn.10005760
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 9
mov ebx, 4
push eax
mov dword [ebp - 0x2100], ebx
call fcn.1009ee50
add esp, 4
test al, al
jne 0x10098640
mov byte [ebp - 0x20f1], al
jmp 0x10098647
lea ecx, [ebp - 0x890]
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10098710
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x20a8]
call fcn.10005c80
lea eax, [ebp - 0x20a8]
mov byte [ebp - 4], 0xa
push eax
call fcn.1009ee50
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x2094], 8
jb 0x1009875d
push dword [ebp - 0x20a8]
call esi
add esp, 4
cmp byte [ebp - 0x20f2], 0
lea eax, [ebp - 0x20c0]
mov ebx, dword [sym.imp.MSVCR120.dll_sprintf]
push str.system.vmdk
je 0x100987bc
cmp dword [ebp - 0x20ac], 8
push edi
cmovae eax, dword [ebp - 0x20c0]
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.10096ea0
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 0x10098857
cmp dword [ebp - 0x20ac], 8
cmovae eax, dword [ebp - 0x20c0]
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 - 0x20f0]
call fcn.10097000
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x20a8]
call fcn.100970a0
mov byte [ebp - 4], 0
cmp dword [ebp - 0x20dc], 8
jb 0x10098814
push dword [ebp - 0x20f0]
call esi
add esp, 4
mov ebx, dword [ebp - 0x2094]
lea ecx, [ebp - 0x20a8]
mov edi, dword [ebp - 0x20a8]
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 0x10098832
cmp ebx, 0x10
jb 0x1009884b
push edi
call esi
add esp, 4
mov edi, dword [ebp - 0x20fc]
mov ebx, dword [sym.imp.MSVCR120.dll_sprintf]
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10097c10
test al, al
jne 0x1009887d
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10097900
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
push str.data.vmdk
cmovae eax, dword [ebp - 0x20c0]
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.10096ea0
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.10097c10
test al, al
jne 0x100988ee
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10097900
cmp byte [ebp - 0x20f1], 0
je 0x10098968
cmp dword [ebp - 0x20ac], 8
lea eax, [ebp - 0x20c0]
push str.sdcard.vmdk
cmovae eax, dword [ebp - 0x20c0]
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.10096ea0
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.10097c10
test al, al
jne 0x10098968
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x1890]
call fcn.10097900
cmp dword [ebp - 0x20ac], 8
jb 0x1009897c
push dword [ebp - 0x20c0]
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.100ad688
mov esp, ebp
pop ebp
ret