Function at 0x402ffa
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1c74
call fcn.00405790
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
cmp edi, esi
je 0x403057
push edi
call fcn.004057c0
test eax, eax
pop ecx
je 0x403057
push 0x40e338
push edi
call fcn.00406890
pop ecx
test eax, eax
pop ecx
jne 0x403032
push 1
jmp 0x403045
push 0x40e32c
push edi
call fcn.00406890
pop ecx
test eax, eax
pop ecx
jne 0x40304b
push 2
pop eax
jmp 0x4035e2
call fcn.0040247e
xor eax, eax
jmp 0x4035e2
mov al, byte [ebp + 0xb]
push ebx
push esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xc], 0x80000002
mov byte [ebp - 0x1c], al
call fcn.00402e19
mov al, byte [ebp + 0xb]
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x40], al
call fcn.00402e19
mov al, byte [ebp + 0xb]
push esi
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x30], al
call fcn.00402e19
mov dl, byte [0x410fb4]
mov dword [ebp - 8], esi
mov esi, 0xff
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0xc73]
mov byte [ebp - 0xc74], dl
mov byte [ebp - 0x1474], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x1473]
mov byte [ebp - 0x474], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x473]
mov byte [ebp - 0x1074], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x1073]
mov byte [ebp - 0x874], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x873]
mov ebx, 0x400
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x1074]
push ebx
push eax
push 1
pop esi
mov dword [ebp + 8], ebx
push esi
push 0
mov dword [ebp - 4], 1
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp + 8]
lea ecx, [ebp - 0xc]
push eax
lea eax, [ebp - 0x474]
push eax
lea eax, [ebp - 4]
push eax
push str.SOFTWAREDuduDddClient_ver
mov dword [ebp + 8], ebx
mov dword [ebp - 4], esi
call fcn.00401b12
test al, al
je 0x4031dd
lea eax, [ebp + 8]
lea ecx, [ebp - 0xc]
push eax
lea eax, [ebp - 0x874]
push eax
lea eax, [ebp - 4]
push eax
push str.SOFTWAREDuduDddClient_vendor
mov dword [ebp - 0x20], esi
mov dword [ebp + 8], ebx
mov dword [ebp - 4], esi
call fcn.00401b12
lea eax, [ebp + 8]
lea ecx, [ebp - 0xc]
push eax
lea eax, [ebp - 0xc74]
push eax
lea eax, [ebp - 4]
push eax
push str.SOFTWAREDuduDddClientpath
mov dword [ebp + 8], ebx
mov dword [ebp - 4], esi
call fcn.00401b12
test al, al
je 0x4031d8
lea eax, [ebp - 0xc74]
push eax
call fcn.004057c0
test eax, eax
pop ecx
je 0x4031c1
lea eax, [ebp - 0xc74]
push eax
call fcn.004057c0
and byte [ebp + eax - 0xc75], 0
pop ecx
lea eax, [ebp - 0xc74]
push eax
call fcn.0040111e
neg al
sbb eax, eax
pop ecx
inc eax
mov dword [ebp - 8], eax
jmp 0x403203
mov dword [ebp - 8], esi
jmp 0x403203
and dword [ebp - 0x20], 0
mov edi, 0x410fb4
lea eax, [ebp - 0x474]
push edi
push eax
call fcn.004067a0
lea eax, [ebp - 0x874]
push edi
push eax
call fcn.004067a0
add esp, 0x10
lea eax, [ebp - 0x1074]
mov dword [ebp + 8], ebx
push eax
mov dword [ebp - 4], esi
call fcn.004057c0
pop ecx
push eax
lea eax, [ebp - 0x1074]
push eax
push esi
push str.SOFTWAREDuduDddOEMOEMVENDOR
lea ecx, [ebp - 0xc]
call fcn.00401c79
lea eax, [ebp + 8]
mov edi, str.SOFTWAREDuduDddOEMOEMID
push eax
lea eax, [ebp - 0x1474]
push eax
lea eax, [ebp - 4]
push eax
push edi
lea ecx, [ebp - 0xc]
call fcn.00401b12
test al, al
jne 0x40328d
lea eax, [ebp - 0x74]
push eax
call fcn.00402f73
pop ecx
push dword [0x40c2d0]
lea ecx, [ebp - 0x40]
push 0
push eax
call fcn.00402b48
push esi
lea ecx, [ebp - 0x74]
call fcn.00402e19
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x40327d
mov eax, 0x40c28c
push dword [ebp - 0x38]
lea ecx, [ebp - 0xc]
push eax
push esi
push edi
call fcn.00401c79
jmp 0x4032aa
lea eax, [ebp - 0x1474]
push eax
call fcn.004057c0
pop ecx
push eax
lea eax, [ebp - 0x1474]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402e55
mov edi, str.http:__dddvc.dudu.com_ddd_oemlite2.html_oemid
push edi
call fcn.004057c0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1c]
call fcn.00402e55
push dword [0x40c2d0]
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x1c]
push 0
push eax
call fcn.00404f00
mov edi, str.installed
push edi
call fcn.004057c0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
cmp dword [ebp - 0x20], 0
mov edi, 0x40e108
jne 0x403300
push edi
call fcn.004057c0
pop ecx
push eax
push edi
jmp 0x40330e
mov ebx, 0x40e0d8
push ebx
call fcn.004057c0
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
mov ebx, str.vendor
push ebx
call fcn.004057c0
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
lea eax, [ebp - 0x1074]
push eax
call fcn.004057c0
pop ecx
push eax
lea eax, [ebp - 0x1074]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
mov ebx, str.old_ver
push ebx
call fcn.004057c0
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
lea eax, [ebp - 0x474]
push eax
call fcn.004057c0
test eax, eax
pop ecx
jne 0x40337b
push edi
call fcn.004057c0
pop ecx
push eax
push edi
jmp 0x403390
lea eax, [ebp - 0x474]
push eax
call fcn.004057c0
pop ecx
push eax
lea eax, [ebp - 0x474]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
mov ebx, str.old_vendor
push ebx
call fcn.004057c0
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
lea eax, [ebp - 0x874]
push eax
call fcn.004057c0
test eax, eax
pop ecx
jne 0x4033ca
push edi
call fcn.004057c0
pop ecx
push eax
push edi
jmp 0x4033df
lea eax, [ebp - 0x874]
push eax
call fcn.004057c0
pop ecx
push eax
lea eax, [ebp - 0x874]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
xor ebx, ebx
cmp dword [ebp - 0x20], ebx
jne 0x403409
mov edi, str.start_install1
push edi
call fcn.004057c0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
mov dword [ebp - 8], esi
jmp 0x40342f
cmp dword [ebp - 8], ebx
je 0x4035bd
mov edi, str.start_repair1
push edi
call fcn.004057c0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1c]
call fcn.00402a8a
mov dword [ebp - 8], 2
mov al, byte [0x410fb4]
mov ecx, 0x1ff
mov byte [ebp - 0x1c74], al
xor eax, eax
lea edi, [ebp - 0x1c73]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x1c74]
push eax
push 0x800
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x1c74]
push eax
call fcn.004057c0
pop ecx
push eax
lea eax, [ebp - 0x1c74]
push eax
lea ecx, [ebp - 0x30]
call fcn.00402e55
mov edi, 0x40e2a0
push edi
call fcn.004057c0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x30]
call fcn.00402a8a
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x30]
push eax
call section..text
mov al, byte [ebp + 0xb]
add esp, 0xc
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x50], al
push ebx
call fcn.00402e19
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x54], ebx
cmp eax, ebx
mov ebx, 0x40c28c
jne 0x4034c3
mov eax, ebx
push 2
push eax
lea ecx, [ebp - 0x54]
call fcn.00401ab7
test al, al
je 0x403502
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x54]
push eax
call fcn.00401929
mov edi, 0x40e0dc
push edi
call fcn.004057c0
pop ecx
push eax
push edi
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x74]
push 0
call fcn.00402d01
push esi
lea ecx, [ebp - 0x74]
call fcn.00402e19
xor edi, edi
cmp dword [ebp - 0x54], edi
je 0x403512
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x54], edi
cmp eax, edi
jne 0x40351e
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov al, byte [ebp + 0xb]
push edi
lea ecx, [ebp - 0x64]
mov byte [ebp - 0x64], al
call fcn.00402e19
lea eax, [ebp - 0x1c74]
push eax
call fcn.004057c0
pop ecx
push eax
lea eax, [ebp - 0x1c74]
push eax
lea ecx, [ebp - 0x64]
call fcn.00402e55
mov edi, str.dddsetup.ini
push edi
call fcn.004057c0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x64]
call fcn.00402a8a
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x403570
mov eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push eax
lea eax, [ebp - 0x474]
mov ebx, str.DDDSETUP
push eax
push str.OldVer
push ebx
call edi
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x403597
mov eax, 0x40c28c
push eax
lea eax, [ebp - 0x874]
push eax
push str.OldVendor
push ebx
call edi
push esi
lea ecx, [ebp - 0x64]
call fcn.00402e19
lea ecx, [ebp - 0x54]
call fcn.0040190a
mov edi, dword [ebp - 8]
jmp 0x4035c4
call fcn.0040247e
xor edi, edi
push esi
lea ecx, [ebp - 0x30]
call fcn.00402e19
push esi
lea ecx, [ebp - 0x40]
call fcn.00402e19
push esi
lea ecx, [ebp - 0x1c]
call fcn.00402e19
mov eax, edi
pop ebx
pop edi
pop esi
leave
ret