Function at 0x461050
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x5588a4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor bl, bl
mov byte [ebp - 0x109], 0
mov dword [edi], 0
mov esi, dword [0x55cd2c]
add esi, 0x33c
je 0x461127
cmp byte [esi], bl
je 0x461127
push esi
call fcn.00411b50
add esp, 4
test al, al
je 0x461127
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.00408650
push esi
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00416fc0
lea ecx, [ebp - 0x108]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4610d4
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00403030
lea eax, [ebp - 0x108]
push str.pulse_secure_
push eax
call fcn.00409930
add esp, 0x10
test eax, eax
jne 0x4611b1
lea eax, [ebp - 0x108]
push str._pulse_secure_
push eax
call fcn.00409930
add esp, 8
test eax, eax
jne 0x4611b1
mov bl, 1
mov dword [edi], 1
test bl, bl
je 0x461228
mov eax, dword [0x55cd2c]
add eax, 0x33c
je 0x461160
cmp byte [eax], 0
je 0x461160
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
setne bl
test eax, eax
jne 0x46115c
call dword [sym.imp.KERNEL32.dll_GetLastError]
test bl, bl
jne 0x46119e
mov eax, dword [0x5585e4]
cmp eax, 0xffffffff
je 0x46124c
push 1
lea ecx, [ebp - 0x10a]
mov byte [ebp - 0x10a], 1
push ecx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_SetFileInformationByHandle]
test eax, eax
setne bl
test eax, eax
jne 0x461196
call dword [sym.imp.KERNEL32.dll_GetLastError]
test bl, bl
je 0x461228
mov eax, dword [0x5585e4]
cmp eax, 0xffffffff
je 0x46124c
jmp 0x46123b
cmp dword [0x5585e4], 0xffffffff
je 0x4611e1
lea eax, [ebp - 0x109]
push eax
mov eax, dword [0x55cd2c]
add eax, 0x33c
push 0x5585e4
push eax
call fcn.0040c770
add esp, 0xc
test al, al
jne 0x461135
mov eax, dword [0x55cd2c]
add eax, 0x33c
push eax
call fcn.00418eb0
add esp, 4
test al, al
jne 0x461135
call fcn.00415e20
test eax, eax
jne 0x46120e
call fcn.0040d470
test eax, eax
je 0x461228
mov eax, dword [0x55cd2c]
mov ecx, dword [0x55cd34]
cmp ecx, dword [eax + 0x440]
je 0x461228
mov byte [ebp - 0x109], 1
mov eax, dword [0x5585e4]
cmp eax, 0xffffffff
je 0x46124c
cmp byte [ebp - 0x109], 0
je 0x46127b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x5585e4], 0xffffffff
mov eax, dword [0x55cd2c]
add eax, 0x33c
push eax
call fcn.004165a0
add esp, 4
mov dword [0x5585e4], eax
cmp eax, 0xffffffff
je 0x46128d
mov ecx, dword [0x55cd2c]
mov ecx, dword [ecx + 0x440]
mov dword [0x55cd34], ecx
push 2
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [0x5585e4]
cmp dword [0x55d1b4], 0
pop edi
pop esi
pop ebx
jne 0x46131d
push 0
lea eax, [ebp - 0x114]
push eax
push 1
push str.D:_A_OICI_GA___AU_
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorA
test eax, eax
jne 0x4612cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00410cd0
mov esp, ebp
pop ebp
ret
cmp dword [0x55cd3c], 0
mov ecx, str.PulseSecure.LogService.LogSignal.Event
mov eax, str.GlobalPulseSecure.LogService.LogSignal.Event
mov dword [ebp - 0x118], 0xc
cmove eax, ecx
mov dword [ebp - 0x110], 1
push eax
push 0
push 1
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push dword [ebp - 0x114]
mov dword [0x55d1b4], eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x5585e4]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00410cd0
mov esp, ebp
pop ebp
ret