Function at 0x40674f
Capabilities:
Delete file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x44766f
push eax
mov eax, 0x100c
mov dword fs:[0], esp
call fcn.00421510
push esi
mov esi, ecx
mov ecx, dword [0x460b7c]
call fcn.00402a90
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
push 0
push 3
push eax
push ecx
call fcn.004210e0
mov ecx, dword [0x460b7c]
push edx
push eax
call fcn.00402bf0
test al, al
jne 0x406819
mov eax, dword [str.Capacidad_insuficiente_en_el_disco_duro_para_extraer_el_archivo_zip_.]
test eax, eax
mov esi, eax
je 0x406797
push eax
call fcn.004206a1
add esp, 4
push eax
push esi
mov ecx, 0x462bac
call fcn.004022d0
push 0x44b2c0
call fcn.004206a1
add esp, 4
push eax
push 0x44b2c0
mov ecx, 0x462bac
call fcn.00402390
mov eax, dword [0x462bac]
mov esi, dword [eax - 4]
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, esi
or edx, ecx
jge 0x4067e7
push 0
mov ecx, 0x462bac
call fcn.00402250
mov eax, dword [0x462bac]
push eax
mov eax, dword [0x460b7c]
push eax
call fcn.00402900
mov ecx, dword [0x460b7c]
add esp, 8
call fcn.00402ae0
xor al, al
pop esi
mov ecx, dword [esp + 0x100c]
mov dword fs:[0], ecx
add esp, 0x1018
ret
mov eax, dword [str.Extrayendo]
test eax, eax
push edi
mov edi, eax
je 0x40682e
push eax
call fcn.004206a1
add esp, 4
push ebx
push eax
push edi
mov ecx, 0x462bac
call fcn.004022d0
mov edx, dword [0x462bac]
mov ebx, dword [edx - 4]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, ebx
or ecx, eax
jge 0x406864
push 0
mov ecx, 0x462bac
call fcn.00402250
mov edx, dword [0x462bac]
mov ecx, dword [0x460b7c]
push edx
call fcn.004028e0
mov ecx, dword [esi + 0x58]
push ecx
lea edx, [esp + 0x1c]
push str.ps_.4u.patch
push edx
call fcn.00420c59
push 0x460378
lea eax, [esp + 0x828]
push 0x44a054
push eax
call fcn.00420c59
mov ecx, dword [0x460b7c]
add esp, 0x18
push 0x449ff0
push 0x3ee
call fcn.0043691c
mov ecx, dword [0x460b7c]
push 0x449ff0
push 0x3ef
call fcn.0043691c
lea ecx, [esp + 0x818]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.00404d40
add esp, 8
test eax, eax
jne 0x406972
mov eax, dword [str.Falla_en_la_extracci]
test eax, eax
mov esi, eax
je 0x4068f8
push eax
call fcn.004206a1
add esp, 4
push eax
push esi
mov ecx, 0x462bac
call fcn.004022d0
push 0x44b2b8
call fcn.004206a1
add esp, 4
push eax
push 0x44b2b8
mov ecx, 0x462bac
call fcn.00402390
mov eax, dword [0x462bac]
mov esi, dword [eax - 4]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, esi
or ecx, edx
jge 0x406948
push 0
mov ecx, 0x462bac
call fcn.00402250
mov eax, dword [0x462bac]
push eax
mov edx, dword [0x460b7c]
push edx
call fcn.00402900
add esp, 8
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [esp + 0x100c]
mov dword fs:[0], ecx
add esp, 0x1018
ret
cmp eax, 2
mov ecx, dword [0x460b7c]
jne 0x40699c
call fcn.00402ae0
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [esp + 0x100c]
mov dword fs:[0], ecx
add esp, 0x1018
ret
call fcn.00402b00
cmp dword [esi + 0x58], 1
jbe 0x406bbd
push 0
push str.update.sah
call fcn.00420615
add esp, 8
test eax, eax
jne 0x406bbd
push eax
push str.update.saf
call fcn.00420615
add esp, 8
test eax, eax
jne 0x406bbd
push str.update.saf
lea ecx, [esp + 0x14]
call fcn.00404200
mov ecx, dword [0x460b7c]
push eax
mov dword [esp + 0x1024], 0
call fcn.004030f0
mov ecx, dword [0x460b7c]
shl eax, 1
push 0
push eax
call fcn.00402bf0
mov bl, al
neg bl
sbb bl, bl
lea ecx, [esp + 0x10]
inc bl
mov dword [esp + 0x1020], 0xffffffff
call fcn.004037e0
test bl, bl
mov ecx, 0x462bac
je 0x406a82
mov eax, dword [str.Capacidad_insuficiente_en_el_disco_duro_para_actualizar.]
push eax
call fcn.00402470
push 0x44b280
mov ecx, 0x462bac
call fcn.00402430
push 0
mov ecx, 0x462bac
call fcn.004022a0
mov ecx, dword [0x460b7c]
push eax
push ecx
call fcn.00402900
add esp, 8
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [esp + 0x100c]
mov dword fs:[0], ecx
add esp, 0x1018
ret
mov edx, dword [str.Updating...]
push edx
call fcn.00402470
push 0
mov ecx, 0x462bac
call fcn.004022a0
mov ecx, dword [0x460b7c]
push eax
call fcn.004028e0
mov ecx, dword [0x460b7c]
push 0x449ff0
push 0x3ee
call fcn.0043691c
mov edi, dword [esi + 0xc]
test edi, edi
je 0x406ad9
mov ecx, edi
call fcn.004086f0
push edi
call fcn.00436892
add esp, 4
mov dword [esi + 0xc], 0
push 0xa0
call fcn.00436862
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0x1020], 1
je 0x406b02
mov ecx, eax
call fcn.00408380
jmp 0x406b04
xor eax, eax
test eax, eax
mov dword [esp + 0x1020], 0xffffffff
mov dword [esi + 0xc], eax
jne 0x406ba7
mov eax, dword [str.Update_error]
push eax
mov ecx, 0x462bb0
call fcn.00402470
mov ecx, dword [str.Memoria_insuficiente.]
push ecx
mov ecx, 0x462bb4
call fcn.00402470
push 0x44b0f8
lea edx, [esp + 0x10]
push 0x462bb0
push edx
call fcn.004059f0
push 0x462bb4
push eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x1038], 2
call fcn.00405940
add esp, 0x18
push eax
mov ecx, 0x462bac
mov byte [esp + 0x1024], 3
call fcn.00405920
lea ecx, [esp + 0x14]
call fcn.004037e0
lea ecx, [esp + 0xc]
mov dword [esp + 0x1020], 0xffffffff
call fcn.004037e0
push 0x44b278
jmp 0x406a42
mov ecx, eax
mov byte [esi + 0x874], 1
call fcn.00409b90
test al, al
je 0x406958
mov ecx, esi
call fcn.004053f0
test al, al
jne 0x406bd2
push str.SaveLocalVersion_Error
jmp 0x406949
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [esi + 0x20]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x1018]
pop ebx
test eax, eax
pop edi
setne al
pop esi
mov dword fs:[0], ecx
add esp, 0x1018
ret