Function at 0x54509c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x5450a4
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x545650
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
call fcn.005272bc
test al, 1
setne bl
mov eax, dword [ebp - 8]
call fcn.005272a4
test al, al
je 0x545114
mov eax, dword [ebp - 8]
call fcn.00527110
test ah, 1
je 0x545114
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00545e50
cmp dword [ebp - 0x10], 0
jne 0x545114
push 1
mov ecx, 0x6134c6e
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
xor edx, edx
push ebp
push 0x54544c
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call fcn.00545e8c
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
cmp dword [ebp - 0x14], 0
jne 0x545156
push 1
mov ecx, 0x6135c85
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
mov eax, dword [ebp - 8]
call fcn.00559ec0
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x5451cc
mov eax, dword [ebp - 8]
call fcn.00527110
test al, 8
jne 0x545197
mov eax, dword [ebp - 8]
call fcn.00527110
test al, 0x10
jne 0x545197
push 1
mov ecx, 0x6136c0b
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
mov eax, dword [ebp - 8]
call fcn.00527110
movzx edx, word [0x545660]
not edx
and dx, ax
or dx, word [0x545664]
mov eax, dword [ebp - 8]
call fcn.00527684
mov eax, dword [ebp - 8]
call fcn.00559ec0
mov edx, 0x545674
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053cda4
mov esi, eax
cmp dword [esi + 0x48], 0
jne 0x5451f7
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov edx, dword [ebp - 0x18]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [esi + 0x9c]
xor edx, edx
call fcn.005298fc
mov eax, dword [ebp - 8]
call fcn.005272a4
test al, al
je 0x54523b
mov eax, dword [esi + 0x9c]
call fcn.005298f4
test al, al
jne 0x54523b
test bl, bl
je 0x54523b
push 1
mov ecx, 0x613987e
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
cmp dword [esi + 0x148], 0
jne 0x545268
mov eax, dword [ebp - 8]
call fcn.00527110
test al, 8
je 0x545268
push 1
mov ecx, 0x613a40b
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
mov eax, dword [esi + 0x9c]
call fcn.005298f4
test al, al
jne 0x54527f
test bl, bl
jne 0x545306
mov eax, dword [ebp - 8]
call fcn.005272bc
test al, 4
je 0x5452ae
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00416430
mov eax, dword [ebp - 0x1c]
xor edx, edx
call fcn.00522548
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
call fcn.00416430
mov eax, dword [ebp - 0x24]
call fcn.00522390
test al, al
jne 0x545306
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call fcn.00416430
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, 0x613cc6d
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e988
call fcn.00406258
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov edx, dword [ebp - 0x34]
mov ecx, ebx
mov eax, dword [ebp - 8]
call fcn.00546028
test al, al
jne 0x54534d
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov eax, dword [ebp - 0x38]
push eax
mov ecx, 0x613e07d
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e988
call fcn.00406258
mov eax, dword [ebp - 8]
call fcn.0053c764
test eax, eax
jg 0x545366
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x545620
lea edx, [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
test bl, bl
je 0x5453ae
lea edx, [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.005461dc
mov esi, eax
test esi, esi
je 0x5453ae
mov eax, dword [ebp - 8]
call fcn.0053c7c0
push 1
mov eax, dword [ebp - 8]
call fcn.0052713c
mov ecx, eax
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e8e0
call fcn.00406258
test bl, bl
jne 0x5453e5
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.00416744
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x44], esi
mov edx, dword [ebp - 0x44]
mov eax, 0x545688
call fcn.00414cf8
test eax, eax
sete al
jmp 0x5453e7
xor eax, eax
test al, al
je 0x545442
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov eax, dword [ebp - 0x48]
call fcn.00415df4
test al, al
jne 0x545442
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
call fcn.0053d434
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.0053fbe4
mov esi, eax
test esi, esi
je 0x545442
mov eax, esi
call fcn.0051f178
push eax
mov ecx, 0x6143c8b
mov dl, 1
mov eax, dword [0x54e714]
call fcn.0054e938
call fcn.00406258
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x545488
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.005276a0
xor eax, eax
push ebp
push 0x5455e5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x545555
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.005465b8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
add eax, 0x24
xor edx, edx
call fcn.004077f4
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x4c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0053c6fc
mov edx, eax
mov eax, dword [ebp - 8]
call fcn.0052782c
mov eax, dword [ebp - 8]
add eax, 0x24
xor edx, edx
call fcn.004077f4
test bl, bl
je 0x54554b
mov eax, dword [ebp - 8]
call fcn.00527260
test eax, eax
jl 0x54553d
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
cmp dword [eax + 4], 0
jle 0x545528
mov eax, dword [ebp - 8]
call fcn.00527110
test al, 8
jne 0x54552c
mov eax, dword [ebp - 8]
call fcn.00527110
test al, 0x10
jne 0x54552c
xor ecx, ecx
jmp 0x54552e
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.005404e0
test al, al
je 0x54554b
mov eax, dword [ebp - 4]
call fcn.00407880
push eax
call sub.kernel32.dll_DeleteFileW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5455a7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5455ec
mov eax, dword [ebp - 8]
call fcn.00559ec0
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 8]
call fcn.00559eb4
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x58]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.00543b64
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x545657
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.004077ec
lea eax, [ebp - 0x40]
mov edx, 0xd
call fcn.004077ec
lea eax, [ebp - 4]
call fcn.004077e4
ret