Function at 0x423852
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5b4c43
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x6274d0]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push esi
push edi
mov eax, dword [0x6274d0]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov ebx, ecx
test ebx, ebx
setne al
movzx eax, al
push 0xbb1
push eax
mov edi, str.srcAppManager.cpp
call fcn.0047a44a
pop ecx
pop ecx
lea esi, [esp + 0x14]
mov eax, ebx
call fcn.004481aa
and dword [esp + 0x100], 0
lea eax, [esp + 0xb8]
call fcn.0041ee67
mov byte [esp + 0x100], 1
push dword [esp + 0x18]
call fcn.0047cdc8
push 1
xor edi, edi
lea esi, [esp + 0xbc]
mov byte [esp + 0x104], 0
call fcn.0040b028
lea eax, [esp + 0xb8]
call fcn.0041effd
mov byte [esp + 0x100], 2
push dword [esp + 0x18]
call fcn.0047cdc8
push 1
lea esi, [esp + 0xbc]
mov byte [esp + 0x104], 0
call fcn.0040b028
push ebx
call fcn.00408ed0
pop ecx
lea ebx, [esp + 0xd4]
call fcn.0041f42f
mov eax, ebx
push eax
lea eax, [esp + 0xbc]
push eax
mov byte [esp + 0x108], 3
call fcn.0047bf6e
lea eax, [esp + 0xb8]
push eax
mov byte [esp + 0x104], 4
call fcn.0047c0c1
pop ecx
push 1
lea esi, [esp + 0xbc]
mov bl, al
mov byte [esp + 0x104], 3
call fcn.0040b028
test bl, bl
je 0x423a56
cmp dword [esp + 0xe8], 8
mov eax, dword [esp + 0xd4]
jae 0x4239a2
lea eax, [esp + 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x423a56
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea eax, [esp + 0x1c]
push eax
call fcn.00409ac6
mov esi, eax
push str.Cannot_delete_
push esi
mov byte [esp + 0x108], 5
call fcn.0040fa1f
push esi
lea ecx, [esp + 0xe0]
call fcn.0040fbd3
add esp, 0xc
push 0x5c2ae0
push esi
call fcn.0040fa1f
pop ecx
pop ecx
push edi
push esi
call fcn.0040d432
lea eax, [esp + 0xb8]
push eax
mov eax, esi
call fcn.00409b30
mov byte [esp + 0x100], 6
cmp dword [esp + 0xcc], 8
mov eax, dword [esp + 0xb8]
jae 0x423a2b
lea eax, [esp + 0xb8]
push eax
push 2
pop ecx
call fcn.0047c666
pop ecx
push 1
xor edi, edi
lea esi, [esp + 0xbc]
call fcn.0040b028
lea eax, [esp + 0x1c]
mov byte [esp + 0x100], 3
call fcn.004021a3
lea ebx, [esp + 0xb8]
call fcn.0041f3ed
mov ebx, eax
lea eax, [esp + 0xd4]
mov byte [esp + 0x100], 7
call fcn.0040ab21
push 1
xor edi, edi
lea esi, [esp + 0xbc]
mov byte [esp + 0x104], 3
call fcn.0040b028
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.0047bf6e
lea eax, [esp + 0xb8]
push eax
mov byte [esp + 0x104], 8
call fcn.0047c0c1
pop ecx
push 1
lea esi, [esp + 0xbc]
mov bl, al
mov byte [esp + 0x104], 3
call fcn.0040b028
test bl, bl
je 0x423ba7
cmp dword [esp + 0xe8], 8
mov eax, dword [esp + 0xd4]
jae 0x423af3
lea eax, [esp + 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x423ba7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea eax, [esp + 0x1c]
push eax
call fcn.00409ac6
mov esi, eax
push str.Cannot_delete_
push esi
mov byte [esp + 0x108], 9
call fcn.0040fa1f
push esi
lea ecx, [esp + 0xe0]
call fcn.0040fbd3
add esp, 0xc
push 0x5c2ae0
push esi
call fcn.0040fa1f
pop ecx
pop ecx
push edi
push esi
call fcn.0040d432
lea eax, [esp + 0xb8]
push eax
mov eax, esi
call fcn.00409b30
mov byte [esp + 0x100], 0xa
cmp dword [esp + 0xcc], 8
mov eax, dword [esp + 0xb8]
jae 0x423b7c
lea eax, [esp + 0xb8]
push eax
push 2
pop ecx
call fcn.0047c666
pop ecx
push 1
xor edi, edi
lea esi, [esp + 0xbc]
call fcn.0040b028
lea eax, [esp + 0x1c]
mov byte [esp + 0x100], 3
call fcn.004021a3
push 1
xor edi, edi
lea esi, [esp + 0xd8]
call fcn.0040b028
mov eax, dword [esp + 0x14]
test eax, eax
je 0x423bc7
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.0055d7fe
mov esp, ebp
pop ebp
ret