Function at 0x4c9570
Capabilities:
Delete file

Disassembly:
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x10
mov eax, dword [ecx + 8]
mov dword [ecx], 0x5f98f0
test eax, eax
jns 0x4c9690
cmp byte [ebx + 4], 0
je 0x4c95a2
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
mov dword [esp], ebx
call fcn.004339c0
mov byte [ebx + 4], 0
mov eax, dword [ebx + 8]
mov dword [ebx], 0x5f9914
test eax, eax
jns 0x4c9600
cmp byte [ebx + 4], 0
je 0x4c95c9
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wremove]
mov dword [esp], ebx
call fcn.004339c0
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0x10]
je 0x4c95d9
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_free
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x4c9728
mov eax, dword [0x678a20]
test eax, eax
jne 0x4c9758
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x4c976d
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov esi, eax
test eax, eax
je 0x4c976d
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], 0x5a7db3
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004c1a60
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00432f50
mov dword [esp + 4], esi
mov dword [esp], 0x5a7d38
call fcn.004c19d0
mov dword [esp], 2
call sub.msvcrt.dll_exit
lea esi, [esi]
nop
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x4c9718
mov edx, dword [0x678a20]
test edx, edx
jne 0x4c9758
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x4c97ce
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov esi, eax
test eax, eax
je 0x4c97ce
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], 0x5a7db3
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004c1a60
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00432f50
mov dword [esp + 4], esi
mov dword [esp], 0x5a7d38
call fcn.004c19d0
mov dword [esp], 2
call sub.msvcrt.dll_exit
lea esi, [esi]
mov dword [ebx + 8], 0xffffffff
jmp 0x4c9589
cmp byte [ebx + 4], 0
mov dword [ebx + 8], 0xffffffff
je 0x4c95c9
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
cmp eax, 0x4c9b50
je 0x4c95b5
mov ecx, ebx
call eax
jmp 0x4c95c1
mov dword [esp + 4], 1
mov dword [esp], 0x6789e0
call dword [sym.imp.msvcrt.dll_longjmp]
cmp dword [0x678a20], 0
jne 0x4c9758
mov eax, 0x40000
call fcn.00439440
mov esi, eax
mov eax, 0x40000
call fcn.00439440
mov dword [esp + 8], 0x40000
mov dword [esp + 4], 0x5a7d14
mov ebx, eax
mov dword [esp], esi
call fcn.004c1a60
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00432f50
mov dword [esp + 4], ebx
mov dword [esp], 0x5a7d38
call fcn.004c19d0
mov dword [esp], 2
call sub.msvcrt.dll_exit
cmp dword [0x678a20], 0
jne 0x4c9758
mov eax, 0x40000
call fcn.00439440
mov esi, eax
mov eax, 0x40000
call fcn.00439440
mov dword [esp + 8], 0x40000
mov dword [esp + 4], 0x5a7d14
mov ebx, eax
mov dword [esp], esi
call fcn.004c1a60
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00432f50
mov dword [esp + 4], ebx
mov dword [esp], 0x5a7d38
call fcn.004c19d0
mov dword [esp], 2
call sub.msvcrt.dll_exit
nop
mov eax, 0x6e
ret 8