Function at 0x10009680
Capabilities:
Check os version
Copy file
Create directory
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003fc3c
mov eax, dword fs:[0]
push eax
sub esp, 0x9a4
mov eax, dword [0x100582a0]
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 esi, dword [ebp + 8]
push 0x410
xor edi, edi
lea eax, [ebp - 0x830]
push edi
push eax
call fcn.1002b6b0
push 0x410
lea ecx, [ebp - 0x420]
push edi
push ecx
call fcn.1002b6b0
xor edx, edx
mov dword [ebp - 0x9b0], edi
mov dword [ebp - 0x838], 7
mov dword [ebp - 0x83c], edi
mov word [ebp - 0x84c], dx
mov dword [ebp - 4], edi
mov dword [ebp - 0x9ac], edi
mov dword [ebp - 0x9a8], edi
mov dword [ebp - 0x9a4], edi
push 0x104
lea eax, [ebp - 0x830]
push edi
mov ebx, 1
push eax
mov byte [ebp - 4], bl
call fcn.1002b6b0
push 0x104
lea ecx, [ebp - 0x628]
push edi
push ecx
call fcn.1002b6b0
push 0x104
lea edx, [ebp - 0x420]
push edi
push edx
call fcn.1002b6b0
push 0x104
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.1002b6b0
add esp, 0x48
lea ecx, [ebp - 0x998]
push ecx
mov dword [ebp - 0x998], 0x114
mov dword [ebp - 0x990], edi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x10009dcf
cmp dword [ebp - 0x988], 2
jne 0x10009db2
cmp dword [ebp - 0x994], 5
jne 0x10009db2
cmp dword [ebp - 0x990], ebx
jb 0x10009db2
call fcn.100284d0
cmp dword [eax + 0x124], edi
jne 0x100097c0
mov dword [ebp - 0x9b0], str.Windows_NT_x86
call fcn.100284d0
mov edx, dword [eax + 0x124]
shr edx, 0x1d
test bl, dl
je 0x100097dc
mov dword [ebp - 0x9b0], str.Windows_x64
mov edx, dword [ebp - 0x9b0]
lea eax, [ebp - 0x84c]
push eax
lea ecx, [ebp - 0x9ac]
push ecx
push esi
push edx
push 3
call fcn.10008fc0
add esp, 0x14
mov esi, eax
cmp dword [ebp - 0x83c], edi
jne 0x10009823
lea ecx, [ebp - 0x9ac]
call fcn.10002e90
lea ecx, [ebp - 0x84c]
call fcn.10001340
mov eax, esi
jmp 0x10009df4
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x99c]
push eax
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x99c], 0x5c
call fcn.10004080
cmp eax, 0xffffffff
je 0x1000987b
push 0xffffffffffffffff
inc eax
push eax
lea ecx, [ebp - 0x868]
push ecx
lea ecx, [ebp - 0x84c]
call fcn.10004610
push eax
lea ecx, [ebp - 0x84c]
mov byte [ebp - 4], 2
call fcn.10002ba0
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], bl
call fcn.10001340
push ebx
push edi
lea edx, [ebp - 0x99c]
mov esi, 0x2d
push edx
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x99c], esi
call fcn.10003fc0
cmp eax, 0xffffffff
je 0x100098ce
mov dword [ebp - 0x99c], esi
push 0x5f
push ebx
push ebx
push eax
lea ecx, [ebp - 0x84c]
call fcn.10004490
push ebx
push edi
lea eax, [ebp - 0x99c]
push eax
lea ecx, [ebp - 0x84c]
call fcn.10003fc0
cmp eax, 0xffffffff
jne 0x100098a5
push ebx
push edi
lea ecx, [ebp - 0x99c]
push ecx
mov esi, 0x20
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x99c], esi
call fcn.10003fc0
cmp eax, 0xffffffff
je 0x10009921
mov dword [ebp - 0x99c], esi
push 0x5f
push ebx
push ebx
push eax
lea ecx, [ebp - 0x84c]
call fcn.10004490
push ebx
push edi
lea edx, [ebp - 0x99c]
push edx
lea ecx, [ebp - 0x84c]
call fcn.10003fc0
cmp eax, 0xffffffff
jne 0x100098f8
push ebx
push edi
lea eax, [ebp - 0x99c]
mov esi, 0x2f
push eax
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x99c], esi
call fcn.10003fc0
cmp eax, 0xffffffff
je 0x10009979
mov dword [ebp - 0x99c], esi
jmp 0x10009950
push 0x5f
push ebx
push ebx
push eax
lea ecx, [ebp - 0x84c]
call fcn.10004490
push ebx
push edi
lea ecx, [ebp - 0x99c]
push ecx
lea ecx, [ebp - 0x84c]
call fcn.10003fc0
cmp eax, 0xffffffff
jne 0x10009950
push ebx
push edi
lea edx, [ebp - 0x99c]
mov esi, 0x28
push edx
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x99c], esi
call fcn.10003fc0
cmp eax, 0xffffffff
je 0x100099cc
mov dword [ebp - 0x99c], esi
push 0x5f
push ebx
push ebx
push eax
lea ecx, [ebp - 0x84c]
call fcn.10004490
push ebx
push edi
lea eax, [ebp - 0x99c]
push eax
lea ecx, [ebp - 0x84c]
call fcn.10003fc0
cmp eax, 0xffffffff
jne 0x100099a3
push ebx
push edi
lea ecx, [ebp - 0x99c]
push ecx
mov esi, 0x29
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x99c], esi
call fcn.10003fc0
cmp eax, 0xffffffff
je 0x10009a1f
mov dword [ebp - 0x99c], esi
push 0x5f
push ebx
push ebx
push eax
lea ecx, [ebp - 0x84c]
call fcn.10004490
push ebx
push edi
lea edx, [ebp - 0x99c]
push edx
lea ecx, [ebp - 0x84c]
call fcn.10003fc0
cmp eax, 0xffffffff
jne 0x100099f6
xor eax, eax
mov dword [ebp - 0x870], 7
mov dword [ebp - 0x874], edi
mov word [ebp - 0x884], ax
mov edx, dword [ebp - 0x9b0]
lea ecx, [ebp - 0x884]
push ecx
push edx
mov byte [ebp - 4], 3
call fcn.10004870
mov eax, dword [ebp - 0x884]
mov ebx, 8
add esp, 8
cmp dword [ebp - 0x870], ebx
jae 0x10009a6b
lea eax, [ebp - 0x884]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push eax
lea eax, [ebp - 0x830]
push eax
call esi
lea ecx, [ebp - 0x830]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x420]
push eax
call esi
mov eax, dword [ebp - 0x84c]
cmp dword [ebp - 0x838], ebx
jae 0x10009aac
lea eax, [ebp - 0x84c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push eax
lea ecx, [ebp - 0x420]
push ecx
call esi
push 0x1004550c
lea edx, [ebp - 0x830]
push edx
call esi
push edi
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x10009b3d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10009b3d
mov ecx, dword [ebp - 0x9a8]
mov edx, dword [ebp - 0x9ac]
push ecx
cmp eax, 0x70
push edx
lea eax, [ebp - 0x99c]
lea ecx, [ebp - 0x9ac]
push eax
jne 0x10009c51
call fcn.10002f70
lea ecx, [ebp - 0x884]
call fcn.10001340
lea ecx, [ebp - 0x9ac]
call fcn.10002e90
lea ecx, [ebp - 0x84c]
call fcn.10001340
mov eax, 0x70
jmp 0x10009df4
mov esi, dword [ebp - 0x9ac]
cmp esi, dword [ebp - 0x9a8]
je 0x10009c3c
nop
push 0xffffffffffffffff
xor ecx, ecx
push edi
mov word [ebp - 0x868], cx
push esi
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
call fcn.10001600
mov eax, dword [ebp - 0x868]
cmp dword [ebp - 0x854], ebx
jae 0x10009b8c
lea eax, [ebp - 0x868]
push eax
lea edx, [ebp - 0x830]
push edx
push 0x10045500
push 0x104
lea eax, [ebp - 0x628]
push 0x104
push eax
call fcn.1002b989
mov eax, dword [ebp - 0x868]
add esp, 0x18
cmp dword [ebp - 0x854], ebx
jae 0x10009bc6
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0x420]
push ecx
push 0x10045500
push 0x104
lea edx, [ebp - 0x218]
push 0x104
push edx
call fcn.1002b989
add esp, 0x18
push edi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x628]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x10009c10
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x70
je 0x10009c7c
cmp dword [ebp - 0x854], ebx
jb 0x10009c27
mov edx, dword [ebp - 0x868]
push edx
call fcn.1002a9de
add esp, 4
add esi, 0x1c
cmp esi, dword [ebp - 0x9a8]
jne 0x10009b50
mov esi, dword [ebp - 0x9ac]
mov eax, dword [ebp - 0x9a8]
push eax
lea ecx, [ebp - 0x99c]
push esi
push ecx
lea ecx, [ebp - 0x9ac]
call fcn.10002f70
lea ecx, [ebp - 0x884]
call fcn.10001340
lea ecx, [ebp - 0x9ac]
call fcn.10002e90
lea ecx, [ebp - 0x84c]
call fcn.10001340
jmp 0x10009df2
lea ecx, [ebp - 0x868]
call fcn.10001340
mov esi, dword [ebp - 0x9ac]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], 0
mov word [ebp - 0x868], ax
call fcn.10001600
mov eax, dword [ebp - 0x868]
cmp dword [ebp - 0x854], ebx
jae 0x10009cd3
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0x420]
push ecx
push 0x10045500
push 0x104
lea edx, [ebp - 0x218]
push 0x104
push edx
call fcn.1002b989
add esp, 0x18
lea eax, [ebp - 0x218]
push eax
call edi
cmp dword [ebp - 0x854], ebx
jb 0x10009d19
mov ecx, dword [ebp - 0x868]
push ecx
call fcn.1002a9de
add esp, 4
add esi, 0x1c
cmp esi, dword [ebp - 0x9a8]
jne 0x10009c93
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov eax, dword [ebp - 0x9a8]
mov ecx, dword [ebp - 0x9ac]
push eax
push ecx
lea edx, [ebp - 0x99c]
push edx
lea ecx, [ebp - 0x9ac]
call fcn.10002f70
cmp dword [ebp - 0x870], ebx
jb 0x10009d6c
mov eax, dword [ebp - 0x884]
push eax
call fcn.1002a9de
add esp, 4
xor ecx, ecx
mov word [ebp - 0x884], cx
lea ecx, [ebp - 0x9ac]
mov dword [ebp - 0x870], 7
mov dword [ebp - 0x874], 0
call fcn.10002e90
cmp dword [ebp - 0x838], ebx
jb 0x10009dab
mov edx, dword [ebp - 0x84c]
push edx
call fcn.1002a9de
add esp, 4
mov eax, 0x70
jmp 0x10009df4
lea ecx, [ebp - 0x9ac]
call fcn.10002e90
cmp dword [ebp - 0x838], 8
jb 0x10009df2
mov edx, dword [ebp - 0x84c]
push edx
jmp 0x10009dea
lea ecx, [ebp - 0x9ac]
call fcn.10002e90
cmp dword [ebp - 0x838], 8
jb 0x10009df2
mov eax, dword [ebp - 0x84c]
push eax
call fcn.1002a9de
add esp, 4
xor eax, eax
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.1002b571
mov esp, ebp
pop ebp
ret