Function at 0x494ec8
Capabilities:
Create directory
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x494ed0
push ecx
xor eax, eax
push ebp
push 0x495276
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4a4344
mov edx, 0x495290
call fcn.004069d0
lea edx, [ebp - 8]
mov eax, 1
call fcn.0040457c
mov eax, dword [ebp - 8]
call fcn.00406a5c
push eax
call sub.kernel32.dll_GetModuleHandleW_1
mov dword [0x4a4348], eax
push 0x105
push 0x4a4350
mov eax, dword [0x4a4348]
push eax
call sub.kernel32.dll_GetModuleFileNameW_1
mov ecx, eax
mov edx, 0x4a4350
mov eax, 0x4a434c
call fcn.00406b0c
lea edx, [ebp - 0xc]
mov eax, 4
call fcn.0040457c
cmp dword [ebp - 0xc], 0
je 0x494f8e
push 0
push 0
push 1
lea edx, [ebp - 0x10]
mov eax, dword [0x4a434c]
call fcn.00493a48
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0x14]
mov eax, 4
call fcn.0040457c
mov edx, dword [ebp - 0x14]
pop eax
call fcn.00406dcc
mov eax, dword [ebp - 0x10]
call fcn.00406a5c
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00492e14
push 0
push 0x49534c
call sub.user32.dll_FindWindowW
test eax, eax
jne 0x49525b
call fcn.004045dc
push 0x49534c
call sub.kernel32.dll_GlobalFindAtomW
test ax, ax
jne 0x495001
mov edx, 0x6e
mov eax, 1
call fcn.00494d04
mov edx, dword [eax*4 + 0x49dfac]
mov eax, 0x4a433c
mov ecx, 0x495368
call fcn.00406e8c
mov eax, dword [0x4a433c]
push eax
mov ecx, 0x495380
mov edx, 0x495398
mov eax, 0x80000001
call fcn.0049317c
push 0x49534c
call sub.kernel32.dll_GlobalAddAtomW
jmp 0x49506e
mov eax, 0x4a433c
xor edx, edx
call fcn.004069d0
push 0x4a433c
mov ecx, 0x495380
mov edx, 0x495398
mov eax, 0x80000001
call fcn.004930ac
cmp dword [0x4a433c], 0
jne 0x49506e
mov edx, 0x6e
mov eax, 1
call fcn.00494d04
mov edx, dword [eax*4 + 0x49dfac]
mov eax, 0x4a433c
mov ecx, 0x495368
call fcn.00406e8c
mov eax, dword [0x4a433c]
push eax
mov ecx, 0x495380
mov edx, 0x495398
mov eax, 0x80000001
call fcn.0049317c
lea eax, [ebp - 0x18]
call fcn.00493498
mov edx, dword [ebp - 0x18]
mov eax, 0x4a4340
call fcn.004069d0
mov eax, dword [0x4a4340]
call fcn.00493b00
test al, al
jne 0x4950a3
push 0
mov eax, dword [0x4a4340]
call fcn.00406a5c
push eax
call sub.kernel32.dll_CreateDirectoryW
lea edx, [ebp - 0x1c]
mov eax, 3
call fcn.0040457c
mov eax, dword [ebp - 0x1c]
push eax
lea edx, [ebp - 0x20]
mov eax, dword [0x4a434c]
call fcn.00493a48
mov edx, dword [ebp - 0x20]
mov eax, 0x4a4334
pop ecx
call fcn.00406e8c
mov eax, 0x4a4338
mov ecx, dword [0x4a433c]
mov edx, dword [0x4a4340]
call fcn.00406e8c
push 0x80
mov eax, dword [0x4a4338]
call fcn.00406a5c
push eax
call sub.kernel32.dll_SetFileAttributesW
push 1
mov eax, dword [0x4a4338]
call fcn.00406a5c
push eax
mov eax, dword [0x4a4334]
call fcn.00406a5c
push eax
call sub.kernel32.dll_MoveFileExW
call fcn.00493e48
call fcn.00493d98
test al, al
je 0x49512f
push 0x3e8
call sub.kernel32.dll_Sleep_1
call fcn.004879c4
test al, al
jne 0x4951ad
push 0
call sub.ole32.dll_CoInitialize
push dword [0x4a433c]
push 0x4953c0
lea eax, [ebp - 0x28]
call fcn.00492fd4
push dword [ebp - 0x28]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00406f70
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [0x4a4340]
push eax
lea eax, [ebp - 0x2c]
call fcn.0049326c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x4953dc
mov edx, 0x495368
mov eax, dword [0x4a433c]
call fcn.00493974
mov edx, dword [ebp - 0x30]
pop eax
call fcn.00406dcc
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, 0x4953f4
call fcn.00492d00
call sub.ole32.dll_CoUninitialize
lea eax, [ebp - 0x34]
call fcn.00487b38
mov eax, dword [ebp - 0x34]
mov edx, 0x49541c
call fcn.00407090
je 0x4951db
lea eax, [ebp - 0x38]
call fcn.00487b38
mov eax, dword [ebp - 0x38]
mov edx, 0x495430
call fcn.00407090
jne 0x4951e0
call fcn.00494d2c
push 0
call sub.user32.dll_IsWindow
test eax, eax
jne 0x49525b
lea eax, [ebp - 4]
mov edx, 0x495444
call fcn.00406a24
lea eax, [ebp - 0x3c]
mov ecx, 0x495460
mov edx, dword [ebp - 4]
call fcn.00406e8c
mov eax, dword [ebp - 0x3c]
call fcn.00493bec
test al, al
je 0x49525b
push dword [0x4a433c]
push 0x4953c0
lea eax, [ebp - 0x44]
call fcn.00492fd4
push dword [ebp - 0x44]
lea eax, [ebp - 0x40]
mov edx, 3
call fcn.00406f70
mov eax, dword [ebp - 0x40]
call fcn.00406a5c
push eax
mov eax, dword [0x4a4340]
call fcn.00406a5c
push eax
push 1
mov ecx, 0x49546c
xor edx, edx
xor eax, eax
call fcn.00492e14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49527d
lea eax, [ebp - 0x44]
mov edx, 0x11
call fcn.004069c8
ret