Function at 0x465c89
Capabilities:
Delete file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4a36a8
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
mov al, byte [esi + 0x46c]
test al, al
je 0x465cc9
push 0x14
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4cbf10
call fcn.0048c471
mov ecx, esi
call fcn.004639f0
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x18
ret 8
mov edi, dword [esp + 0x28]
mov ebx, 1
cmp edi, ebx
jne 0x465ce5
mov ecx, esi
call fcn.004637e0
test al, al
jne 0x465e67
push ebx
mov ecx, esi
call fcn.00468d70
mov ecx, esi
call fcn.00463c10
test al, al
jne 0x465d22
push 0x3ea
mov ecx, esi
call fcn.00468d70
push ebx
mov ecx, esi
call fcn.004664a0
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x18
ret 8
cmp edi, ebx
jne 0x465d35
mov ecx, esi
call fcn.004637d0
test al, al
je 0x465e67
mov eax, dword [0x4cc854]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], 0
push ecx
mov ecx, esi
call fcn.0046bb80
test al, al
je 0x465e7d
mov edx, dword [0x4cc854]
mov dword [esp + 0xc], edx
lea eax, [esi + 0x158c]
push str.ZRUPDATE.EXE
lea ecx, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x2c], bl
call fcn.0048c698
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 2
call fcn.0048c53c
lea ecx, [esp + 0x10]
mov byte [esp + 0x20], bl
call fcn.0048c403
mov edx, dword [esp + 0xc]
push 0
push edx
call fcn.00476665
or edi, 0xffffffff
add esp, 8
cmp eax, edi
je 0x465ddc
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x465ddc
push 0xa
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4cbee4
call fcn.0048c471
mov ecx, esi
call fcn.004639f0
jmp 0x465e4c
push 0xa
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4cb9a0
call fcn.0048c471
mov ecx, esi
call fcn.004639f0
push ecx
lea edx, [esi + 0x1590]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
mov byte [esi + 0x46c], bl
mov byte [esi + 0x46d], bl
call fcn.0048c178
mov ecx, esi
call fcn.0046bcd0
test al, al
jne 0x465e4c
push 0xa
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4cb940
call fcn.0048c471
mov ecx, esi
call fcn.004639f0
mov byte [esi + 0x46d], 0
mov byte [esi + 0x46c], 0
lea ecx, [esp + 0xc]
mov byte [esp + 0x20], 0
call fcn.0048c403
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], edi
call fcn.0048c403
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x28]
push 0x4cb93c
push eax
call fcn.0047514f
add esp, 8
test eax, eax
jne 0x465ed5
push 0xa
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4cb8e0
call fcn.0048c471
mov ecx, esi
call fcn.004639f0
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], 0xffffffff
call fcn.0048c403
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x18
ret 8
mov ecx, esi
mov byte [esi + 0x46d], bl
call fcn.00465f10
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], 0xffffffff
call fcn.0048c403
mov ecx, dword [esp + 0x18]
pop edi
mov eax, ebx
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x18
ret 8