Function at 0x47b150
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 [0x6349f0]
xor eax, eax
push ebp
push 0x47b65f
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00463b28
mov eax, dword [0x635008]
movzx eax, byte [eax]
xor al, 1
mov edx, dword [esi]
mov byte [edx + 4], al
mov al, 1
call fcn.0047a860
mov eax, 0x47b678
call fcn.0047a65c
xor ebx, ebx
call fcn.00403424
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x47b684
call sub.kernel32.dll_CreateFileA_1
mov eax, dword [0x635008]
cmp byte [eax], 0
je 0x47b1ec
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 0x47b1f8
mov edi, 0x47b698
mov dword [ebp - 0xc], 0xb
mov eax, 0x47b6ac
call fcn.00464360
mov eax, 0x47b6ac
call fcn.00464360
mov eax, 0x47b6ac
call fcn.00464360
mov eax, 0x47b6ac
call fcn.00464360
push 0x20
lea eax, [ebp - 0x10]
call fcn.00423630
lea eax, [ebp - 0x10]
mov edx, 0x47b6c4
call fcn.00405694
mov eax, dword [ebp - 0x10]
call fcn.00405858
push eax
call sub.kernel32.dll_SetFileAttributesA
lea eax, [ebp - 0x14]
call fcn.00423630
lea eax, [ebp - 0x14]
mov edx, 0x47b6c4
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.00423630
lea eax, [ebp - 0x18]
mov edx, 0x47b6c4
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 [0x634eec]
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.0047831c
test eax, eax
jne 0x47b62c
call fcn.0047b0c8
mov eax, dword [0x634df4]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x34], al
mov eax, dword [0x634f54]
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [edx + 0x30], eax
mov eax, dword [0x634bb8]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x24], al
mov eax, dword [0x634c10]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x25], al
mov eax, dword [0x634f00]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x26], al
mov eax, dword [0x634cf8]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x27], al
mov eax, dword [0x634d4c]
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [edx + 0x28], eax
mov eax, dword [0x634a8c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x2c], al
mov eax, dword [0x634a34]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x2d], al
mov eax, dword [0x63511c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x35], al
call fcn.00477fbc
movzx eax, ax
mov edx, dword [esi]
mov dword [edx + 0x10], eax
call fcn.00477fb4
movzx eax, ax
mov edx, dword [esi]
mov dword [edx + 0x14], eax
mov eax, dword [0x634998]
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 [0x635004]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x19], al
mov eax, dword [0x634f5c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x1a], al
mov eax, dword [0x634d94]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x1b], al
mov eax, dword [0x634c7c]
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 [0x634988]
mov eax, dword [eax]
call fcn.0042267c
mov edx, dword [esi]
mov dword [edx + 0x20], eax
push 0x13880
mov ecx, 0x4d36ac
mov eax, 0x47b6d4
xor edx, edx
call fcn.00464e98
push 0x13880
mov ecx, 0x4e6f2c
mov eax, 0x47b6dc
xor edx, edx
call fcn.00464e98
push 0x47b6e8
call sub.kernel32.dll_DeleteFileW
push 0x47b718
call sub.kernel32.dll_DeleteFileW
push 0x20
push 0x47b748
call sub.kernel32.dll_SetFileAttributesW
push 0x47b748
call sub.kernel32.dll_DeleteFileW
push 0x20
push 0x47b7a8
call sub.kernel32.dll_SetFileAttributesW
push 0x47b7a8
call sub.kernel32.dll_DeleteFileW
mov eax, 0x47b814
call fcn.00479cec
mov eax, 0x47b82c
call fcn.00479cec
mov eax, 0x47b844
call fcn.00479cec
lea edx, [ebp - 0x1c]
mov eax, dword [0x634998]
mov eax, dword [eax + 0x5c]
call fcn.00422800
cmp dword [ebp - 0x1c], 0
je 0x47b476
mov eax, dword [0x634998]
mov eax, dword [eax + 0x5c]
call fcn.00479cec
mov eax, 0x47b85c
call fcn.0042337c
mov eax, dword [0x634f84]
cmp byte [eax], 0
je 0x47b4a0
mov ecx, 0x47b868
mov eax, 0x504dac
mov edx, 0x9000
call fcn.004647cc
jmp 0x47b4e0
push 0x20
push 0x47b878
call sub.kernel32.dll_SetFileAttributesW
push 0x20
push 0x47b88c
call sub.kernel32.dll_SetFileAttributesW
push 0x47b8a4
call sub.kernel32.dll_DeleteFileA
push 0x47b8b0
call sub.kernel32.dll_DeleteFileA
mov ecx, 0x47b868
mov eax, 0x4fa7ac
mov edx, 0xa600
call fcn.004647cc
mov edx, 0x47b8bc
mov eax, 0x47b8c8
mov ecx, 0xa
call fcn.004236ec
mov ecx, 0x47b8d8
mov eax, 0x50ddac
mov edx, 0x4000
call fcn.004647cc
mov ecx, 0x47b8fc
mov eax, 0x511dac
mov edx, 0x8000
call fcn.004647cc
mov ecx, 0x47b92c
mov eax, 0x519dac
mov edx, 0x8000
call fcn.004647cc
mov ecx, 0x47b95c
mov eax, str.DDS_
mov edx, 0x10080
call fcn.004647cc
mov ecx, 0x47b978
mov eax, 0x48fe78
mov edx, 0xcaa0
call fcn.004647cc
mov ecx, 0x47b990
mov eax, str.MAXFILE_C3_00001MOTI
mov edx, 0x56f0
call fcn.004647cc
mov ecx, 0x47b9a8
mov eax, 0x49c918
mov edx, 0xd916
call fcn.004647cc
mov ecx, 0x47b9c0
mov eax, str.MAXFILE_C3_00001PHY
mov edx, 0x13d09
call fcn.004647cc
mov eax, dword [0x635008]
cmp byte [eax], 0
je 0x47b607
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, 0x47b814
call fcn.0047976c
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, 0x47b82c
call fcn.0047976c
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, 0x47b844
call fcn.0047976c
lea edx, [ebp - 0x20]
mov eax, dword [0x634998]
mov eax, dword [eax + 0x5c]
call fcn.00422800
cmp dword [ebp - 0x20], 0
je 0x47b5f3
mov eax, dword [ebp - 8]
mov edx, eax
mov eax, dword [0x634998]
mov eax, dword [eax + 0x5c]
call fcn.0047976c
mov ecx, 0x47b9d4
mov eax, 0x521dac
mov edx, 0x1167d
call fcn.004647cc
mov eax, dword [ebp - 4]
call fcn.0047a500
mov ebx, eax
test bl, bl
je 0x47b622
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x634974]
mov dword [edx], eax
mov eax, dword [0x634a40]
mov byte [eax], 1
jmp 0x47b63c
push 0x10
push 0
push 0x47b9ec
push 0
call sub.user32.dll_MessageBoxW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47b666
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.004053ec
lea eax, [ebp - 4]
call fcn.004053c8
ret