Function at 0x5143f4
Capabilities:
Delete file
Print debug messages
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 - 4], eax
xor eax, eax
push ebp
push 0x51481f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
je 0x514439
mov eax, dword [ebp - 4]
call fcn.00515358
mov eax, dword [ebp - 4]
add eax, 4
mov edx, dword [eax]
xor ecx, ecx
mov dword [eax], ecx
mov eax, edx
call fcn.00404364
xor ecx, ecx
mov dl, 1
mov eax, dword [0x510ab8]
call fcn.00510f90
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 4], ebx
mov eax, dword [ebp - 4]
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xd8], fcn.00514928
mov eax, dword [ebp - 4]
mov dword [ebx + 0xe4], eax
mov dword [ebx + 0xe0], 0x514980
mov eax, dword [ebp - 4]
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0xf8], 0x514f3c
mov eax, dword [ebp - 4]
mov dword [ebx + 0x114], eax
mov dword [ebx + 0x110], 0x514f80
lea eax, [ebx + 0xa8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
call fcn.004063e0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x48]
lea eax, [ebp - 8]
mov ecx, 0x51483c
call fcn.004067b4
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.00513e10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov dword [edx + 0x68], eax
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.0040d2c8
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 0x514854
call fcn.004067b4
mov eax, dword [ebp - 0xc]
call fcn.0040646c
push eax
call fcn.004091b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xd4]
lea eax, [ebp - 0x14]
mov edx, 0x514854
call fcn.004067b4
mov eax, dword [ebp - 0x14]
call fcn.0040646c
push eax
call fcn.004091b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xa8]
lea eax, [ebp - 0x18]
mov edx, 0x514854
call fcn.004067b4
mov eax, dword [ebp - 0x18]
call fcn.0040646c
push eax
call fcn.004091b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xd4]
call fcn.0040d9d0
test al, al
je 0x514655
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.0040d9d0
test al, al
je 0x514655
xor eax, eax
push ebp
push 0x5145d3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.0040646c
push eax
call fcn.00409200
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x48]
mov dl, 1
mov eax, dword [0x421c6c]
call fcn.00427d0c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov dword [edx + 0x84], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5146a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xd4]
call fcn.0040d9d0
test al, al
je 0x514681
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xd4]
call fcn.0040646c
push eax
call fcn.00408f1c
push 0xffff
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x48]
mov dl, 1
mov eax, dword [0x421c6c]
call fcn.00427d0c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov dword [edx + 0x84], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4c]
cmp al, 2
jne 0x51474e
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 4]
mov byte [ebx + 0xc9], 2
lea eax, [ebx + 0xac]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x58]
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb4
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50]
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb8
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xbc
xor edx, edx
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc4
xor edx, edx
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc0
xor edx, edx
call fcn.004063e0
jmp 0x5147fa
cmp al, 1
jne 0x5147fa
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 4]
mov byte [ebx + 0xc9], 2
lea eax, [ebx + 0xac]
xor edx, edx
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb0
xor edx, edx
call fcn.004063e0
mov eax, dword [ebp - 4]
lea ecx, [eax + 0x54]
mov eax, dword [ebp - 4]
lea edx, [eax + 0x50]
mov eax, 0x514900
call fcn.0051413c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb4
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50]
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xb8
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xbc
xor edx, edx
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc4
xor edx, edx
call fcn.004063e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
add eax, 0xc0
xor edx, edx
call fcn.004063e0
push 0x51490c
call fcn.004091b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x514826
lea eax, [ebp - 0x20]
mov edx, 7
call fcn.004063d8
ret