Function at 0x42c67f
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
push ebx
mov ebx, eax
push edi
lea eax, [ebx + 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0042cc82
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
pop ecx
pop ecx
je 0x42c6f7
lea edi, [ebx + 0x30]
lea eax, [ebp - 0x18]
call fcn.00401bc0
cmp byte [0x438cec], 0
je 0x42c6f0
mov eax, dword [0x438af8]
mov ecx, 0x438af8
call dword [eax + 0xc]
push dword [0x438944]
add eax, 0x10
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
call fcn.004063dd
push eax
mov ebx, 0x438cbc
call fcn.00405df0
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
call fcn.0040147d
mov bl, 1
jmp 0x42c904
push esi
lea edi, [ebp - 8]
call fcn.0042c915
lea edi, [ebx + 0x30]
call fcn.00401bc0
mov eax, dword [ebp - 8]
add eax, 0xfffffff0
call fcn.0040147d
mov eax, edi
call fcn.00411555
push 0
push edi
lea eax, [ebp - 0x50]
call fcn.004093cb
lea eax, [ebx + 0x2c]
push edi
call fcn.004026cf
mov eax, dword [0x438af8]
mov ecx, 0x438af8
call dword [eax + 0xc]
mov esi, eax
lea eax, [ebp - 8]
push eax
push 4
push 0
push dword [ebx + 0x28]
lea eax, [ebx + 0x24]
push eax
lea eax, [ebp - 0x50]
add esi, 0x10
push eax
mov dword [ebp - 8], esi
call fcn.004094b4
lea eax, [esi - 0x10]
call fcn.0040147d
xor esi, esi
push esi
mov dword [ebp - 0xc], esi
call dword [sym.imp.ole32.dll_CoInitialize]
neg eax
sbb al, al
inc al
mov byte [ebp - 0x20], al
mov eax, dword [ebx]
push esi
call fcn.0042b499
push eax
lea edx, [ebp - 0x50]
lea eax, [ebp - 0x8c]
call fcn.00409aaa
lea esi, [ebp - 0x8c]
call fcn.00409b2b
mov ecx, dword [ebp - 0x30]
inc dword [ebp - 0xc]
test ecx, ecx
mov dword [ebp - 8], ecx
jne 0x42c7bb
cmp eax, 1
jne 0x42c7bb
mov esi, ebx
call fcn.0042c99a
test al, al
je 0x42c864
push dword [edi]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 1], 0
call esi
mov eax, dword [edi]
sub eax, 0x10
call fcn.00401c33
push dword [0x438098]
add eax, 0x10
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.00404612
push dword [ebp - 0x10]
call esi
cmp dword [ebp - 0xc], 2
jge 0x42c872
mov eax, dword [0x438af8]
mov ecx, 0x438af8
call dword [eax + 0xc]
add eax, 0x10
push 0
push dword [ebp - 8]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
call fcn.0040901c
push dword [eax]
lea esi, [ebp - 0x14]
push 0x102
call fcn.00409d99
mov eax, dword [ebp - 0x1c]
add esp, 0x10
add eax, 0xfffffff0
call fcn.0040147d
mov eax, dword [ebx]
push 0x45
push 0
call fcn.0042b499
push eax
mov eax, esi
push eax
call fcn.0042b508
cmp eax, 2
mov eax, dword [ebp - 0x14]
je 0x42c86a
add eax, 0xfffffff0
call fcn.0040147d
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.0040147d
jmp 0x42c78f
mov byte [ebp - 1], 1
jmp 0x42c8e1
add eax, 0xfffffff0
call fcn.0040147d
cmp byte [0x438cec], 0
je 0x42c8d6
push 0
push dword [ebp - 8]
lea eax, [ebp - 0x1c]
call fcn.0040901c
mov esi, dword [eax]
mov eax, dword [0x438af8]
pop ecx
pop ecx
mov ecx, 0x438af8
call dword [eax + 0xc]
add eax, 0x10
push esi
push dword [0x438948]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
call fcn.004063dd
push eax
call fcn.004063dd
push eax
mov ebx, 0x438cbc
call fcn.00405df0
mov eax, dword [ebp - 8]
add eax, 0xfffffff0
call fcn.0040147d
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.0040147d
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.0040147d
lea esi, [ebp - 0x8c]
call fcn.00409b01
cmp byte [ebp - 0x20], 0
pop esi
je 0x42c8f9
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ebx, [ebp - 0x50]
call fcn.00409418
mov bl, byte [ebp - 1]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.0040147d
pop edi
mov al, bl
pop ebx
leave
ret