Function at 0x47a244
Capabilities:
Create directory
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405848
mov esi, dword [0x6339f0]
xor eax, eax
push ebp
push 0x47a753
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00463ab0
mov eax, dword [0x634008]
movzx eax, byte [eax]
xor al, 1
mov edx, dword [esi]
mov byte [edx + 4], al
mov al, 1
call fcn.00479954
mov eax, 0x47a76c
call fcn.00479750
xor ebx, ebx
call fcn.00403424
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x47a778
call sub.kernel32.dll_CreateFileA_1
mov eax, dword [0x634008]
cmp byte [eax], 0
je 0x47a2e0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
call fcn.00405858
mov edi, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xc], eax
jmp 0x47a2ec
mov edi, 0x47a78c
mov dword [ebp - 0xc], 0xb
mov eax, 0x47a7a0
call fcn.00464084
mov eax, 0x47a7a0
call fcn.00464084
mov eax, 0x47a7a0
call fcn.00464084
mov eax, 0x47a7a0
call fcn.00464084
push 0x20
lea eax, [ebp - 0x10]
call fcn.0042360c
lea eax, [ebp - 0x10]
mov edx, 0x47a7b8
call fcn.00405694
mov eax, dword [ebp - 0x10]
call fcn.00405858
push eax
call sub.kernel32.dll_SetFileAttributesA
lea eax, [ebp - 0x14]
call fcn.0042360c
lea eax, [ebp - 0x14]
mov edx, 0x47a7b8
call fcn.00405694
mov eax, dword [ebp - 0x14]
call fcn.00405858
push eax
call sub.kernel32.dll_DeleteFileA
push 0
lea eax, [ebp - 0x18]
call fcn.0042360c
lea eax, [ebp - 0x18]
mov edx, 0x47a7b8
call fcn.00405694
mov eax, dword [ebp - 0x18]
call fcn.00405858
push eax
call sub.kernel32.dll_CreateDirectoryA
mov eax, 0x7d0
call fcn.0040344c
add ax, 0x3e9
push eax
mov eax, dword [0x633eec]
mov eax, dword [eax]
push eax
mov eax, 0x7d0
call fcn.0040344c
mov ecx, eax
add cx, 0x7d0
movzx edx, word [ebp - 0xc]
mov eax, edi
call fcn.00477410
test eax, eax
jne 0x47a720
call fcn.0047a1bc
mov eax, dword [0x633df4]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x34], al
mov eax, dword [0x633f54]
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [edx + 0x30], eax
mov eax, dword [0x633bb8]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x24], al
mov eax, dword [0x633c10]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x25], al
mov eax, dword [0x633f00]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x26], al
mov eax, dword [0x633cf8]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x27], al
mov eax, dword [0x633d4c]
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [edx + 0x28], eax
mov eax, dword [0x633a8c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x2c], al
mov eax, dword [0x633a34]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x2d], al
mov eax, dword [0x63411c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x35], al
call fcn.004770b0
movzx eax, ax
mov edx, dword [esi]
mov dword [edx + 0x10], eax
call fcn.004770a8
movzx eax, ax
mov edx, dword [esi]
mov dword [edx + 0x14], eax
mov eax, dword [0x633998]
movzx eax, byte [eax + 0x64]
mov edx, dword [esi]
mov byte [edx + 0x18], al
call sub.kernel32.dll_GetCurrentProcessId
mov edx, dword [esi]
mov dword [edx], eax
mov eax, dword [0x634004]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x19], al
mov eax, dword [0x633f5c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x1a], al
mov eax, dword [0x633d94]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x1b], al
mov eax, dword [0x633c7c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x36], al
mov eax, dword [esi]
mov byte [eax + 0x1c], 0
mov eax, dword [0x633988]
mov eax, dword [eax]
call fcn.00422674
mov edx, dword [esi]
mov dword [edx + 0x20], eax
push 0x13880
mov ecx, 0x4d26ac
mov eax, 0x47a7c8
xor edx, edx
call fcn.00464bbc
push 0x13880
mov ecx, 0x4e5f2c
mov eax, 0x47a7d0
xor edx, edx
call fcn.00464bbc
push 0x47a7dc
call sub.kernel32.dll_DeleteFileW
push 0x47a80c
call sub.kernel32.dll_DeleteFileW
push 0x20
push 0x47a83c
call sub.kernel32.dll_SetFileAttributesW
push 0x47a83c
call sub.kernel32.dll_DeleteFileW
push 0x20
push 0x47a89c
call sub.kernel32.dll_SetFileAttributesW
push 0x47a89c
call sub.kernel32.dll_DeleteFileW
mov eax, 0x47a908
call fcn.00478de0
mov eax, 0x47a920
call fcn.00478de0
mov eax, 0x47a938
call fcn.00478de0
lea edx, [ebp - 0x1c]
mov eax, dword [0x633998]
mov eax, dword [eax + 0x5c]
call fcn.004227f8
cmp dword [ebp - 0x1c], 0
je 0x47a56a
mov eax, dword [0x633998]
mov eax, dword [eax + 0x5c]
call fcn.00478de0
mov eax, 0x47a950
call fcn.00423358
mov eax, dword [0x633f84]
cmp byte [eax], 0
je 0x47a594
mov ecx, 0x47a95c
mov eax, 0x503dac
mov edx, 0x9000
call fcn.004644f0
jmp 0x47a5d4
push 0x20
push 0x47a96c
call sub.kernel32.dll_SetFileAttributesW
push 0x20
push 0x47a980
call sub.kernel32.dll_SetFileAttributesW
push 0x47a998
call sub.kernel32.dll_DeleteFileA
push 0x47a9a4
call sub.kernel32.dll_DeleteFileA
mov ecx, 0x47a95c
mov eax, 0x4f97ac
mov edx, 0xa600
call fcn.004644f0
mov edx, 0x47a9b0
mov eax, 0x47a9bc
mov ecx, 0xa
call fcn.004236c8
mov ecx, 0x47a9cc
mov eax, 0x50cdac
mov edx, 0x4000
call fcn.004644f0
mov ecx, 0x47a9f0
mov eax, 0x510dac
mov edx, 0x8000
call fcn.004644f0
mov ecx, 0x47aa20
mov eax, 0x518dac
mov edx, 0x8000
call fcn.004644f0
mov ecx, 0x47aa50
mov eax, str.DDS_
mov edx, 0x10080
call fcn.004644f0
mov ecx, 0x47aa6c
mov eax, 0x48ee78
mov edx, 0xcaa0
call fcn.004644f0
mov ecx, 0x47aa84
mov eax, str.MAXFILE_C3_00001MOTI
mov edx, 0x56f0
call fcn.004644f0
mov ecx, 0x47aa9c
mov eax, 0x49b918
mov edx, 0xd916
call fcn.004644f0
mov ecx, 0x47aab4
mov eax, str.MAXFILE_C3_00001PHY
mov edx, 0x13d09
call fcn.004644f0
mov eax, dword [0x634008]
cmp byte [eax], 0
je 0x47a6fb
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, 0x47a908
call fcn.00478860
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, 0x47a920
call fcn.00478860
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, 0x47a938
call fcn.00478860
lea edx, [ebp - 0x20]
mov eax, dword [0x633998]
mov eax, dword [eax + 0x5c]
call fcn.004227f8
cmp dword [ebp - 0x20], 0
je 0x47a6e7
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, dword [0x633998]
mov eax, dword [eax + 0x5c]
call fcn.00478860
mov ecx, 0x47aac8
mov eax, 0x520dac
mov edx, 0x1167d
call fcn.004644f0
mov eax, dword [ebp - 4]
call fcn.004795f4
mov ebx, eax
test bl, bl
je 0x47a716
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x633974]
mov dword [edx], eax
mov eax, dword [0x633a40]
mov byte [eax], 1
jmp 0x47a730
push 0x10
push 0
push 0x47aae0
push 0
call sub.user32.dll_MessageBoxW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47a75a
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.004053ec
lea eax, [ebp - 4]
call fcn.004053c8
ret