Function at 0x545694
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x54569c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x545a60
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
call fcn.00545e68
mov dword [ebp - 0x18], eax
xor esi, esi
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.00407848
xor eax, eax
mov dword [ebp - 0x14], eax
mov bl, 1
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.005276a0
xor edx, edx
push ebp
push 0x5459f5
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
call fcn.0053d434
cmp dword [ebp - 0x1c], 0
jne 0x54571a
push 1
mov ecx, 0x6157885
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
cmp dword [edx + 4], 0
jne 0x54572e
call fcn.0053d6c8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
cmp dword [eax + 4], 0
jne 0x545763
xor ebx, ebx
mov eax, dword [ebp - 0x10]
call fcn.0052713c
test eax, eax
jne 0x545763
push 1
mov ecx, 0x61594a4
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.005276a0
test bl, bl
je 0x5458a6
lea eax, [ebp - 4]
xor edx, edx
call fcn.00407848
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00545e2c
cmp dword [ebp - 0x20], 0
je 0x5457fb
mov eax, dword [ebp - 0x10]
call fcn.00545e44
test al, 0x10
jne 0x5457fb
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x10]
call fcn.00545e2c
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x24]
mov dl, 1
call fcn.0051f180
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 4]
call fcn.00416bf0
mov eax, dword [ebp - 0x10]
call fcn.00545e44
test al, 0x20
je 0x5457d5
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00522548
mov eax, dword [ebp - 4]
call fcn.00522390
test al, al
jne 0x5457fb
mov eax, dword [ebp - 4]
push eax
mov ecx, 0x615c881
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e988
call fcn.00406258
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
call fcn.0053a784
dec eax
jle 0x5458a6
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
call fcn.0052726c
cmp dword [ebp - 0x2c], 0
jne 0x54586b
lea eax, [ebp - 8]
mov edx, 0x106
call fcn.00407b70
mov eax, dword [ebp - 8]
call fcn.00407880
push eax
push 0x104
call sub.kernel32.dll_GetTempPathW
mov eax, dword [ebp - 8]
call fcn.00407880
mov edx, eax
lea eax, [ebp - 0xc]
call fcn.004079a0
lea eax, [ebp - 8]
xor edx, edx
call fcn.00407848
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x10]
call fcn.0052726c
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xc]
mov dl, 1
call fcn.0051f180
push 1
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov edx, dword [ebp - 0x34]
lea ecx, [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0054024c
test eax, eax
setge bl
test bl, bl
je 0x5458b4
mov eax, dword [ebp - 0x10]
call fcn.0053c764
mov esi, eax
test esi, esi
jle 0x5459eb
xor eax, eax
push ebp
push 0x5459e1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
call fcn.00545e8c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00546518
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
add eax, 0x24
xor edx, edx
call fcn.004077f4
mov eax, dword [ebp - 0x10]
call fcn.005272a4
test al, al
je 0x545936
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x10]
call fcn.00545e50
cmp dword [ebp - 0x38], 0
jne 0x545936
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
cmp word [eax + 0x192], 0
jne 0x545936
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.00546510
push 0xffffffffffffffff
lea ecx, [ebp - 0x38]
mov edx, 0x6165882
mov eax, dword [ebp - 0x10]
call fcn.00559f54
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x4c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.0053c6fc
mov edx, eax
mov eax, dword [ebp - 0x10]
call fcn.0052782c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5459eb
mov eax, dword [ebp - 0x10]
call fcn.0053c7c0
mov eax, dword [ebp - 0x10]
call fcn.00559ec0
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
call fcn.0053a784
dec eax
jle 0x54599d
mov eax, dword [ebp - 0xc]
call fcn.00407880
push eax
call sub.kernel32.dll_DeleteFileW
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00543b64
mov eax, dword [ebp - 0x10]
call fcn.005272a4
test al, al
je 0x5459e0
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
call fcn.00545e50
cmp dword [ebp - 0x3c], 0
jne 0x5459e0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
cmp word [eax + 0x192], 0
jne 0x5459e0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00546510
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x545a38
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x545a67
lea eax, [ebp - 0x3c]
mov edx, 9
call fcn.004077ec
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004077ec
ret