Function at 0x473418
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.0040580c
mov esi, dword [0x59e950]
xor eax, eax
push ebp
push 0x4736fc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x59ef6c]
movzx eax, byte [eax]
xor al, 1
mov edx, dword [esi]
mov byte [edx + 4], al
xor ebx, ebx
call fcn.00403424
mov eax, dword [0x59ef6c]
cmp byte [eax], 0
je 0x473482
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
call fcn.0040581c
mov edi, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xc], eax
jmp 0x47348e
mov edi, 0x47370c
mov dword [ebp - 0xc], 0xb
mov eax, 0x473720
call fcn.00463714
mov eax, 0x473720
call fcn.00463714
mov eax, 0x473720
call fcn.00463714
mov eax, 0x473720
call fcn.00463714
push 0x20
lea eax, [ebp - 0x10]
call fcn.00423168
lea eax, [ebp - 0x10]
mov edx, 0x473738
call fcn.00405658
mov eax, dword [ebp - 0x10]
call fcn.0040581c
push eax
call sub.kernel32.dll_SetFileAttributesA
lea eax, [ebp - 0x14]
call fcn.00423168
lea eax, [ebp - 0x14]
mov edx, 0x473738
call fcn.00405658
mov eax, dword [ebp - 0x14]
call fcn.0040581c
push eax
call sub.kernel32.dll_DeleteFileA
push 0
lea eax, [ebp - 0x18]
call fcn.00423168
lea eax, [ebp - 0x18]
mov edx, 0x473738
call fcn.00405658
mov eax, dword [ebp - 0x18]
call fcn.0040581c
push eax
call sub.kernel32.dll_CreateDirectoryA
mov eax, 0x7d0
call fcn.0040344c
add ax, 0x3e9
push eax
mov eax, dword [0x59ee4c]
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.00472790
test eax, eax
jne 0x4736c9
call fcn.00473390
mov eax, dword [esi]
mov byte [eax + 0x34], 0
mov eax, dword [0x59eeb0]
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [edx + 0x30], eax
mov eax, dword [0x59eb2c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x24], al
mov eax, dword [0x59eb84]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x25], al
mov eax, dword [0x59ee60]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x26], al
mov eax, dword [0x59ec60]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x27], al
mov eax, dword [0x59ecb4]
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [edx + 0x28], eax
mov eax, dword [0x59e9f0]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x2c], al
mov eax, dword [0x59e994]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x2d], al
mov eax, dword [0x59f07c]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x35], al
call fcn.004722c4
movzx eax, ax
mov edx, dword [esi]
mov dword [edx + 0x10], eax
call fcn.004722bc
movzx eax, ax
mov edx, dword [esi]
mov dword [edx + 0x14], eax
mov eax, dword [0x59e8ec]
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 [0x59ef68]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x19], al
mov eax, dword [0x59eeb8]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x1a], al
mov eax, dword [0x59ecfc]
movzx eax, byte [eax]
mov edx, dword [esi]
mov byte [edx + 0x1b], al
mov eax, dword [esi]
mov byte [eax + 0x1c], 0
mov eax, dword [esi]
mov byte [eax + 0x36], 0
mov eax, dword [0x59e8dc]
mov eax, dword [eax]
call fcn.00422054
mov edx, dword [esi]
mov dword [edx + 0x20], eax
mov eax, dword [esi]
mov dword [eax + 0x28], 1
mov eax, 0x473750
call fcn.00472870
lea edx, [ebp - 0x1c]
mov eax, dword [0x59e8ec]
mov eax, dword [eax + 0x5c]
call fcn.004221d8
cmp dword [ebp - 0x1c], 0
je 0x473687
mov eax, dword [0x59e8ec]
mov eax, dword [eax + 0x5c]
call fcn.00472870
mov ecx, 0x473760
mov eax, 0x48b5fc
mov edx, 0x11600
call fcn.00464250
lea edx, [ebp - 0x20]
mov eax, dword [0x59e8ec]
mov eax, dword [eax + 0x15d]
call fcn.004221d8
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.00472fbc
mov ebx, eax
test bl, bl
je 0x4736d9
mov eax, dword [0x59e9a4]
mov byte [eax], 1
jmp 0x4736d9
push 0x10
push 0
push 0x473770
push 0
call sub.user32.dll_MessageBoxW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x473703
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.004053b0
lea eax, [ebp - 4]
call fcn.0040538c
ret