Function at 0x59c590
Capabilities:
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 ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x59ca00
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
je 0x59c5d3
mov eax, dword [ebp - 4]
call fcn.0059d70c
mov eax, dword [ebp - 4]
add eax, 4
mov edx, dword [eax]
xor ecx, ecx
mov dword [eax], ecx
mov eax, edx
call fcn.0040461c
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5564a4]
call fcn.00556984
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 4], ebx
mov eax, dword [ebp - 4]
mov dword [ebx + 0xe4], eax
mov dword [ebx + 0xe0], fcn.0059cacc
mov eax, dword [ebp - 4]
mov dword [ebx + 0xec], eax
mov dword [ebx + 0xe8], 0x59cb24
mov eax, dword [ebp - 4]
mov dword [ebx + 0x104], eax
mov dword [ebx + 0x100], 0x59d200
mov eax, dword [ebp - 4]
mov dword [ebx + 0x11c], eax
mov dword [ebx + 0x118], 0x59d248
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x55]
mov byte [ebx + 0x58], al
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x68]
mov byte [ebx + 0x120], al
lea eax, [ebx + 0xb0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c]
call fcn.00406c64
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
lea eax, [ebp - 8]
mov ecx, 0x59ca1c
call fcn.00407078
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.0055a310
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
cmp byte [eax + 0x120], 0
je 0x59c696
mov dword [eax + 0x70], 2
jmp 0x59c69f
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x30]
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xdc]
call fcn.0040e650
test al, al
je 0x59c7a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.0040e650
test al, al
je 0x59c7a3
xor eax, eax
push ebp
push 0x59c71c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00406cf0
push eax
call sub.KERNEL32.DLL_SetFileAttributesW
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x4c]
mov dl, 1
mov eax, dword [0x473894]
call fcn.0047992c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov dword [edx + 0x8c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59c88f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xdc]
call fcn.0040e650
test al, al
je 0x59c7cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xdc]
call fcn.00406cf0
push eax
call sub.KERNEL32.DLL_DeleteFileW
xor eax, eax
push ebp
push 0x59c80d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xffff
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x4c]
mov dl, 1
mov eax, dword [0x473894]
call fcn.0047992c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov dword [edx + 0x8c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59c88f
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x56]
cmp al, 2
jne 0x59c939
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 4]
mov byte [ebx + 0xd1], 2
lea eax, [ebx + 0xb4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb8
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x64]
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xbc
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x58]
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc4
xor edx, edx
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xcc
xor edx, edx
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc8
xor edx, edx
call fcn.00406c64
jmp 0x59c9e5
cmp al, 1
jne 0x59c9e5
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 4]
mov byte [ebx + 0xd1], 2
lea eax, [ebx + 0xb4]
xor edx, edx
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb8
xor edx, edx
call fcn.00406c64
mov eax, dword [ebp - 4]
lea ecx, [eax + 0x5c]
mov eax, dword [ebp - 4]
lea edx, [eax + 0x58]
mov eax, 0x59cac0
call fcn.0059c2c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xbc
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x58]
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc4
xor edx, edx
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xcc
xor edx, edx
call fcn.00406c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc8
xor edx, edx
call fcn.00406c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59ca07
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.00406c5c
ret