Function at 0x43a96c
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x566168
mov eax, dword fs:[0]
push eax
sub esp, 0x3ac
mov eax, dword [0x5d6c64]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3a8], ecx
push 0
push str.update.ini
lea ecx, [ebp - 0x88]
call fcn.0042b16f
and dword [ebp - 4], 0
push 0x572794
push str.remove_list
push 0x5727b0
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x88]
call fcn.0042b4cd
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0
jne 0x43aa19
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0xa4]
call fcn.00406660
mov byte [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.0042b3c8
jmp 0x43ae19
lea eax, [ebp - 0x36d]
mov dword [ebp - 0x36c], eax
lea eax, [ebp - 0x64]
mov dword [ebp - 0x3ac], eax
mov byte [ebp - 4], 3
push 0
push 0
lea ecx, [ebp - 0x64]
call fcn.00406660
mov byte [ebp - 4], 4
push 0x5727c8
push 0x5727cc
push 0x5727dc
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x88]
call fcn.0042b4cd
mov byte [ebp - 4], 5
and dword [ebp - 0x68], 0
push 0x5727f4
call dword [sym.imp.MSVCR100.dll_wcslen]
pop ecx
mov dword [ebp - 0x374], eax
push dword [ebp - 0x374]
push dword [ebp - 0x68]
push 0x5727f4
lea ecx, [ebp - 0xa4]
call fcn.0041dde8
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [0x5c0400]
je 0x43ad93
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x68]
push eax
push dword [ebp - 0x68]
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0xa4]
call fcn.0041db14
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
jbe 0x43ad42
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00426812
neg eax
sbb eax, eax
inc eax
movzx eax, al
neg eax
sbb eax, eax
inc eax
movzx eax, al
test eax, eax
je 0x43ad42
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xf8]
push eax
mov ecx, dword [ebp - 0x3a8]
call fcn.0043ae31
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xf8]
call fcn.004071e0
mov dword [ebp - 0x380], eax
push 0
push dword [ebp - 0x380]
call dword [sym.imp.MSVCR100.dll__waccess]
pop ecx
pop ecx
test eax, eax
je 0x43acd3
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x320]
push eax
mov ecx, dword [ebp - 0x3a8]
call fcn.00439e57
mov byte [ebp - 4], 8
xor eax, eax
mov word [ebp - 0x304], ax
push 0x206
push 0
lea eax, [ebp - 0x302]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x320]
call fcn.004071e0
push eax
lea eax, [ebp - 0x304]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCanonicalizeW]
and dword [ebp - 0x344], 0
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x340]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x14
pop eax
mov word [ebp - 0x334], ax
and dword [ebp - 0x32e], 0
and dword [ebp - 0x344], 0
and dword [ebp - 0x32a], 0
lea eax, [ebp - 0x304]
mov dword [ebp - 0x33c], eax
and dword [ebp - 0x338], 0
mov dword [ebp - 0x340], 3
lea eax, [ebp - 0x344]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x389]
mov dword [ebp - 0x388], eax
lea eax, [ebp - 0x360]
mov dword [ebp - 0x3b0], eax
mov byte [ebp - 4], 9
push 0
push 0
lea ecx, [ebp - 0x360]
call fcn.00406430
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00404e60
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041ba38
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406660
mov byte [ebp - 4], 0xa
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x43aca3
push dword [ebp - 0x324]
lea ecx, [ebp - 0x360]
call fcn.00406480
push eax
push str._ProcessStateMachine__RemoveOldTclsVersionAfterReboot_del__s___err_d
push 4
call fcn.0041b5a4
add esp, 0x10
mov byte [ebp - 4], 0xd
push 0
push 1
lea ecx, [ebp - 0x360]
call fcn.00406430
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0x320]
call fcn.00406660
mov byte [ebp - 4], 7
jmp 0x43ad2b
push 0x572840
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00412033
add esp, 0xc
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x3a0], eax
mov byte [ebp - 4], 0xf
push dword [0x5c0400]
push 0
push dword [ebp - 0x3a0]
lea ecx, [ebp - 0x64]
call fcn.004074b0
mov byte [ebp - 4], 0x10
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.00406660
mov byte [ebp - 4], 7
mov byte [ebp - 4], 0x11
push 0
push 1
lea ecx, [ebp - 0xf8]
call fcn.00406660
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x68], eax
push 0x572844
call dword [sym.imp.MSVCR100.dll_wcslen]
pop ecx
mov dword [ebp - 0x3a4], eax
push dword [ebp - 0x3a4]
push dword [ebp - 0x68]
push 0x572844
lea ecx, [ebp - 0xa4]
call fcn.0041dde8
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0xdc]
call fcn.00406660
mov byte [ebp - 4], 5
jmp 0x43aa99
cmp dword [ebp - 0x50], 8
jb 0x43ada4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x3b8], eax
jmp 0x43adad
lea eax, [ebp - 0x64]
mov dword [ebp - 0x3b8], eax
push dword [ebp - 0x3b8]
push 0x572848
push str.SelfUpdate
lea ecx, [ebp - 0x88]
call fcn.0042b5de
mov byte [ebp - 4], 0x13
push 0
push 1
lea ecx, [ebp - 0xc0]
call fcn.00406660
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0x14
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.00406660
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0x15
push 0
push 1
lea ecx, [ebp - 0xa4]
call fcn.00406660
mov byte [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.0042b3c8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004610a0
leave
ret