Function at 0x51442c
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 0x514857
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
je 0x514471
mov eax, dword [ebp - 4]
call fcn.00515390
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 [0x510af0]
call fcn.00510fc8
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.00514960
mov eax, dword [ebp - 4]
mov dword [ebx + 0xe4], eax
mov dword [ebx + 0xe0], 0x5149b8
mov eax, dword [ebp - 4]
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0xf8], 0x514f74
mov eax, dword [ebp - 4]
mov dword [ebx + 0x114], eax
mov dword [ebx + 0x110], 0x514fb8
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, 0x514874
call fcn.004067b4
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.00513e48
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, 0x51488c
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, 0x51488c
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, 0x51488c
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 0x51468d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.0040d9d0
test al, al
je 0x51468d
xor eax, eax
push ebp
push 0x51460b
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 0x5146dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xd4]
call fcn.0040d9d0
test al, al
je 0x5146b9
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 0x514786
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 0x514832
cmp al, 1
jne 0x514832
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, 0x514938
call fcn.00514174
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 0x514944
call fcn.004091b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51485e
lea eax, [ebp - 0x20]
mov edx, 7
call fcn.004063d8
ret