Function at 0x53dba4
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 8
push 0
push 0
dec ecx
jne 0x53dbad
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
test dl, dl
je 0x53dbc6
add esp, 0xfffffff0
call fcn.00405b3c
mov ebx, ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x53de32
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x561b80]
cmp dword [eax], 0
jne 0x53dc02
push 2
push 1
push 0
call fcn.004fe39c
xor ecx, ecx
mov edx, 0x53de6c
call fcn.004fe718
jmp 0x53ddf2
mov eax, dword [0x561b80]
mov eax, dword [eax]
cmp byte [eax + 0xa8e], 0
je 0x53ddf2
cmp bl, 4
jne 0x53dc5f
mov edx, dword [0x561afc]
mov edx, dword [edx]
lea eax, [ebp - 0x10]
mov ecx, 0x53dee8
call fcn.00407c64
mov eax, dword [ebp - 0x10]
call fcn.00414c80
test al, al
je 0x53dc5f
mov ecx, 0x53dee8
mov edx, dword [0x561afc]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.00407c64
mov eax, dword [ebp - 0x14]
call fcn.00407834
push eax
call sub.kernel32.dll_DeleteFileW
xor edx, edx
push ebp
push 0x53ddeb
push dword fs:[edx]
mov dword fs:[edx], esp
push 0xffffffffffffffff
lea eax, [ebp - 0x1c]
mov edx, dword [0x561b80]
mov edx, dword [edx]
add edx, 0xa8f
call fcn.00407af4
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.00415564
mov edx, dword [ebp - 0x18]
mov eax, dword [0x5621a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.00502500
push eax
call sub.kernel32.dll_WaitForSingleObject
sub eax, 1
jae 0x53dda4
lea eax, [ebp - 0x24]
mov edx, dword [0x561b80]
mov edx, dword [edx]
add edx, 0xa8f
call fcn.00407af4
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00415564
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5621a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.00502500
push eax
call sub.kernel32.dll_ResetEvent
push 1
lea eax, [ebp - 0x28]
mov edx, dword [0x561b80]
mov edx, dword [edx]
add edx, 0xa8f
call fcn.00407af4
mov ecx, dword [ebp - 0x28]
mov dl, 1
mov eax, dword [0x534a78]
call fcn.00534e40
mov dword [ebp - 0xc], eax
push dword [ebp + 0xc]
push dword [ebp + 8]
lea eax, [ebp - 0x38]
call fcn.00417624
lea eax, [ebp - 0x38]
call fcn.00417704
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x30]
call fcn.00417438
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov ecx, 0
call fcn.004079d4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0053512c
movzx edx, bl
mov eax, dword [ebp - 0xc]
call fcn.00535140
mov eax, dword [0x561f70]
cmp byte [eax], 0
jne 0x53dd79
mov eax, dword [0x561f70]
mov edi, eax
mov esi, 0x53df04
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x3c]
mov edx, dword [0x561f70]
mov ecx, 0
call fcn.00406c3c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xc]
call fcn.0053512c
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 0xc], edx
call fcn.00405608
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53ddf2
lea eax, [ebp - 0x44]
mov edx, dword [0x561b80]
mov edx, dword [edx]
add edx, 0xa8f
call fcn.00407af4
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.00415564
mov edx, dword [ebp - 0x40]
mov eax, dword [0x5621a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.00502500
push eax
call sub.kernel32.dll_SetEvent
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53de39
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.004077a0
lea eax, [ebp - 0x3c]
call fcn.004068e4
lea eax, [ebp - 0x30]
call fcn.00407798
lea eax, [ebp - 0x2c]
call fcn.004068e4
lea eax, [ebp - 0x28]
mov edx, 7
call fcn.004077a0
ret