Function at 0x413bc0
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47b95b
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x4a62e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.00412c30
test eax, eax
je 0x413c03
mov eax, 1
jmp 0x413e67
push str.res_data.7z
push 0x4844ec
push 0x81
push dword [0x4a88c0]
mov ecx, ebx
call fcn.00413990
test eax, eax
je 0x413e65
mov ecx, dword [0x4a842c]
mov esi, dword [0x4a88c0]
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 0x44], esi
test ecx, ecx
jne 0x413cc9
push 0x4a5078
call edi
cmp dword [0x4a842c], 0
jne 0x413cb8
push 0x10
call fcn.00430db0
mov esi, eax
add esp, 4
mov dword [ebp - 0x48], esi
test esi, esi
je 0x413caa
mov dword [esi], 0
call fcn.0040bd70
mov ecx, eax
test ecx, ecx
je 0x413fa1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi + 4], eax
mov dword [esi + 8], 0
call fcn.0040bd70
mov ecx, eax
test ecx, ecx
je 0x413fab
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi + 0xc], eax
jmp 0x413cac
xor esi, esi
xchg dword [ebp - 0x48], eax
mov dword [0x4a842c], esi
mov esi, dword [ebp - 0x44]
push 0x4a5078
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x4a842c]
push 0x4844f4
push 0x484504
push 0x82
push esi
call fcn.00413990
test eax, eax
je 0x413e65
mov ecx, dword [0x4a842c]
mov esi, dword [0x4a88c0]
mov dword [ebp - 0x44], esi
test ecx, ecx
jne 0x413d82
push 0x4a5078
call edi
cmp dword [0x4a842c], 0
jne 0x413d71
push 0x10
call fcn.00430db0
mov esi, eax
add esp, 4
mov dword [ebp - 0x48], esi
test esi, esi
je 0x413d63
mov dword [esi], 0
call fcn.0040bd70
mov ecx, eax
test ecx, ecx
je 0x413fb5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi + 4], eax
mov dword [esi + 8], 0
call fcn.0040bd70
mov ecx, eax
test ecx, ecx
je 0x413fbf
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi + 0xc], eax
jmp 0x413d65
xor esi, esi
xchg dword [ebp - 0x48], eax
mov dword [0x4a842c], esi
mov esi, dword [ebp - 0x44]
push 0x4a5078
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x4a842c]
push 0x484510
push 0x484538
push 0x83
push esi
call fcn.00413990
test eax, eax
je 0x413e65
mov ecx, ebx
call fcn.00412e80
test eax, eax
jne 0x413e9a
call fcn.0042fcb0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x413e65
push 0x48
push str.d:_buildlib_commonwin11_update_assistant_srcconfig_mgrconfig_mgr.cpp
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], al
call fcn.0040e510
push 3
push 0x482dd8
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040e510
mov byte [ebp - 4], 1
call fcn.0042fcb0
mov edi, eax
lea ecx, [ebp - 0xec]
push 0x52
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00405aa0
mov esi, eax
push str.ExtractCefRes_failed
push esi
mov byte [ebp - 4], 2
call fcn.00403950
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0xec]
call fcn.00406fb0
lea ecx, [ebp - 0x28]
call fcn.00406570
lea ecx, [ebp - 0x40]
call fcn.00406570
xor eax, eax
xor ecx, ecx
test eax, eax
push 0
setne cl
push ecx
push 0x803
push dword [ebx]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00443153
mov esp, ebp
pop ebp
ret
push str.cfg.dat
lea eax, [ebx + 4]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004129f0
add esp, 0xc
push dword [ebp - 0x4c]
mov dword [ebp - 4], 3
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x413ecc
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.004137b0
push dword [0x4a5070]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 4
call fcn.00412720
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042cb40
add esp, 0xc
mov edx, dword [ebp - 0x50]
or esi, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x413f22
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x4c]
push dword [ebp - 0x54]
push str.file_md5
push str.info
call fcn.00432ed0
mov edx, dword [ebp - 0x54]
add esp, 0x10
mov byte [ebp - 4], 4
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x413f58
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, esi
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x413f76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x413f95
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, ebx
call fcn.00412c30
jmp 0x413e67
push 0x80004005
call fcn.00407850
push 0x80004005
call fcn.00407850
push 0x80004005
call fcn.00407850
push 0x80004005
call fcn.00407850
int3