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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50b9f3
mov eax, dword fs:[0]
push eax
sub esp, 0x7f8
mov eax, dword [0x5645bc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7f4], ecx
push 0x104
lea eax, [ebp - 0x28c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea ecx, [ebp - 0x28c]
push ecx
call fcn.0040c390
add esp, 8
mov word [eax + 2], 0
lea edx, [ebp - 0x2a8]
push edx
call fcn.00410430
mov ecx, eax
call fcn.00409c30
mov dword [ebp - 4], 0
push 0x515e98
lea ecx, [ebp - 0x2a8]
call fcn.00403ac0
push str.1.0.1.1027_
lea ecx, [ebp - 0x2a8]
call fcn.00403ac0
lea ecx, [ebp - 0x2a8]
call fcn.00401e80
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x431b80
lea ecx, [ebp - 0x2a8]
call fcn.00401e80
push eax
call fcn.00437eb0
add esp, 4
lea eax, [ebp - 0x48]
push eax
call fcn.00410430
mov ecx, eax
call fcn.00409f00
mov byte [ebp - 4], 1
push 0x515ec8
lea ecx, [ebp - 0x48]
call fcn.00403ac0
push str.91res.bin
lea ecx, [ebp - 0x48]
call fcn.00403ac0
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x770]
push edx
call fcn.0043bc30
add esp, 8
mov byte [ebp - 4], 2
lea eax, [ebp - 0x754]
push eax
call fcn.00410430
mov ecx, eax
call fcn.00409f00
mov byte [ebp - 4], 3
push str.7654_
lea ecx, [ebp - 0x754]
call fcn.00403ac0
lea ecx, [ebp - 0x2a8]
push ecx
lea ecx, [ebp - 0x4f0]
call fcn.00403a40
mov byte [ebp - 4], 4
push 0x515ef4
lea ecx, [ebp - 0x4f0]
call fcn.00403ac0
push str.service.exe
lea edx, [ebp - 0x754]
push edx
lea eax, [ebp - 0x738]
push eax
call fcn.004042c0
add esp, 0xc
mov byte [ebp - 4], 5
push str.services
lea ecx, [ebp - 0x2c]
call fcn.00401c10
mov byte [ebp - 4], 6
mov dword [ebp - 0x71c], 0
mov dword [ebp - 0x4d4], 0
mov dword [ebp - 0x774], 0
jmp 0x431c71
mov ecx, dword [ebp - 0x774]
add ecx, 1
mov dword [ebp - 0x774], ecx
cmp dword [ebp - 0x774], 0x40
jge 0x431cf2
call fcn.00410430
mov ecx, eax
call fcn.0040a170
mov dword [ebp - 0x778], eax
lea ecx, [ebp - 0x2c]
call fcn.004020d0
push eax
mov edx, dword [ebp - 0x774]
imul edx, edx, 0x48
mov eax, dword [ebp - 0x778]
lea ecx, [eax + edx + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x431ced
mov edx, dword [ebp - 0x774]
imul edx, edx, 0x48
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + edx + 0x64]
mov dword [ebp - 0x71c], ecx
mov edx, dword [ebp - 0x774]
imul edx, edx, 0x48
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x71c]
add ecx, dword [eax + edx + 0x68]
mov dword [ebp - 0x4d4], ecx
jmp 0x431cf2
jmp 0x431c62
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
lea ecx, [ebp - 0x79c]
call fcn.00401c90
mov byte [ebp - 4], 7
lea edx, [ebp - 0x79c]
push edx
lea eax, [ebp - 0x2c4]
push eax
call fcn.0043bc30
add esp, 8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x79c]
call fcn.00401cd0
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x431d5a
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x4d4]
push ecx
lea edx, [ebp - 0x71c]
push edx
lea ecx, [ebp - 0x770]
call fcn.004020d0
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004020d0
push eax
call fcn.00410430
mov ecx, eax
call fcn.0040a190
lea ecx, [ebp - 0x4f0]
call fcn.00401e80
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x431db4
lea ecx, [ebp - 0x4f0]
call fcn.00401e80
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x4f0]
call fcn.00401e80
push eax
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call fcn.0043b090
add esp, 8
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov word [ebp - 0x4cc], 0
push 0x206
push 0
lea eax, [ebp - 0x4ca]
push eax
call fcn.00463f00
add esp, 0xc
lea ecx, [ebp - 0x2a8]
call fcn.00401e80
push eax
push str.__sservice.exe__InstallService
lea ecx, [ebp - 0x4cc]
push ecx
call fcn.00466ebb
add esp, 0xc
lea edx, [ebp - 0x4cc]
push edx
call fcn.0043a400
add esp, 4
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x80]
call fcn.00401c90
mov byte [ebp - 4], 0xa
push str.Tool_
lea ecx, [ebp - 0x80]
call fcn.00403ac0
push 0x515f7c
lea ecx, [ebp - 0x80]
call fcn.00403ac0
lea ecx, [ebp - 0x2a8]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00403a40
mov byte [ebp - 4], 0xb
push 0x515f94
lea ecx, [ebp - 0x64]
call fcn.00403ac0
push str.Utility.exe
lea edx, [ebp - 0x754]
push edx
lea eax, [ebp - 0x7b8]
push eax
call fcn.004042c0
add esp, 0xc
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x7fc]
push edx
lea ecx, [ebp - 0x738]
call fcn.00403a70
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7b8]
call fcn.00401cd0
push str.myutility
lea ecx, [ebp - 0x2c]
call fcn.00408d10
mov dword [ebp - 0x77c], 0
jmp 0x431efb
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
cmp dword [ebp - 0x77c], 0x40
jge 0x431f7c
call fcn.00410430
mov ecx, eax
call fcn.0040a170
mov dword [ebp - 0x780], eax
lea ecx, [ebp - 0x2c]
call fcn.004020d0
push eax
mov ecx, dword [ebp - 0x77c]
imul ecx, ecx, 0x48
mov edx, dword [ebp - 0x780]
lea eax, [edx + ecx + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x431f77
mov ecx, dword [ebp - 0x77c]
imul ecx, ecx, 0x48
mov edx, dword [ebp - 0x780]
mov eax, dword [edx + ecx + 0x64]
mov dword [ebp - 0x71c], eax
mov ecx, dword [ebp - 0x77c]
imul ecx, ecx, 0x48
mov edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x71c]
add eax, dword [edx + ecx + 0x68]
mov dword [ebp - 0x4d4], eax
jmp 0x431f7c
jmp 0x431eec
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
lea ecx, [ebp - 0x7d4]
call fcn.00401c90
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x7d4]
push ecx
lea edx, [ebp - 0x7f0]
push edx
call fcn.0043bc30
add esp, 8
mov dword [ebp - 0x800], eax
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x804], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x804]
push ecx
lea ecx, [ebp - 0x2c4]
call fcn.00403a00
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x7f0]
call fcn.00401c50
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7d4]
call fcn.00401cd0
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43201b
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edx, [ebp - 0x4d4]
push edx
lea eax, [ebp - 0x71c]
push eax
lea ecx, [ebp - 0x770]
call fcn.004020d0
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004020d0
push eax
call fcn.00410430
mov ecx, eax
call fcn.0040a190
lea ecx, [ebp - 0x64]
call fcn.00401e80
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x43206f
lea ecx, [ebp - 0x64]
call fcn.00401e80
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x64]
call fcn.00401e80
push eax
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call fcn.0043b090
add esp, 8
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4320b4
lea ecx, [ebp - 0x738]
call fcn.00401e80
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov word [ebp - 0x6fc], 0
push 0x206
push 0
lea ecx, [ebp - 0x6fa]
push ecx
call fcn.00463f00
add esp, 0xc
lea ecx, [ebp - 0x2a8]
call fcn.00401e80
push eax
push str.__sUtility.exe__InstallSoftWafeKit
lea edx, [ebp - 0x6fc]
push edx
call fcn.00466ebb
add esp, 0xc
lea eax, [ebp - 0x6fc]
push eax
call fcn.0043a400
add esp, 4
mov ecx, dword [ebp - 0x7f4]
cmp dword [ecx + 0x6ac], 0
je 0x432185
push 0
mov edx, dword [ebp - 0x7f4]
mov eax, dword [edx + 0x6ac]
mov ecx, dword [ebp - 0x7f4]
mov ecx, dword [ecx + 0x6ac]
mov edx, dword [eax]
mov eax, dword [edx + 0xd8]
call eax
push str.FFFFFFFF
push 0x51602c
mov ecx, dword [ebp - 0x7f4]
mov edx, dword [ecx + 0x6ac]
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [eax + 0x6ac]
mov edx, dword [edx]
mov eax, dword [edx + 0x110]
call eax
push 0x516050
mov ecx, dword [ebp - 0x7f4]
mov edx, dword [ecx + 0x6ac]
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [eax + 0x6ac]
mov edx, dword [edx]
mov eax, dword [edx + 0x2c]
call eax
push 1
call fcn.00410430
mov ecx, eax
call fcn.00409d00
mov ecx, dword [ebp - 0x7f4]
mov byte [ecx + 0x6d5], 0
push 0
call fcn.00410430
mov ecx, eax
call fcn.00409b10
mov ecx, dword [ebp - 0x7f4]
call fcn.0042f130
call fcn.00410430
mov ecx, eax
call fcn.00409ab0
mov dword [ebp - 0x4d0], eax
lea edx, [ebp - 0x718]
push edx
call fcn.00410430
mov ecx, eax
call fcn.00409a50
mov byte [ebp - 4], 0xf
push 1
call fcn.00436fb0
mov ecx, eax
call fcn.0042e8e0
push 1
call fcn.00436fb0
mov ecx, eax
call fcn.0042e920
mov eax, dword [ebp - 0x7f4]
push eax
mov ecx, dword [ebp - 0x7f4]
add ecx, 0x6b4
push ecx
lea ecx, [ebp - 0x718]
call fcn.00401e80
push eax
mov edx, dword [ebp - 0x4d0]
push edx
call fcn.00436fb0
mov ecx, eax
call fcn.0042e6a0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x718]
call fcn.00401cd0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x64]
call fcn.00401cd0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x80]
call fcn.00401cd0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c4]
call fcn.00401c50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00401c50
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x738]
call fcn.00401cd0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4f0]
call fcn.00401cd0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x754]
call fcn.00401cd0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x770]
call fcn.00401c50
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00401cd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a8]
call fcn.00401cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00463ee8
mov esp, ebp
pop ebp
ret