Function at 0x495ac0
Capabilities:
Check if file exists
Create thread

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f1587
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x80
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebx + 8]
lea ecx, [ebp - 0x18]
push 0
push 0xffffffffffffffff
push str.HKLM64SOFTWARECarifredUVK___Ultra_Virus_Killer_backupsSystemRepair
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x18], 0
call fcn.005d6a80
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x34]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
movq qword [ebp - 0x34], xmm0
call fcn.005dc5e0
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x28]
movq qword [ebp - 0x28], xmm0
call fcn.005dc5e0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 2
push eax
push str.LastReportPath
lea ecx, [ebp - 0x18]
call fcn.005d6740
test al, al
je 0x495b93
mov ecx, esi
call fcn.005dc190
push eax
lea ecx, [ebp - 0x34]
call fcn.005dc4c0
test al, al
je 0x495b93
push str.LastReportPath
lea ecx, [ebp - 0x18]
call fcn.005d5df0
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
call fcn.005d0460
mov dword [ebp - 0x78], eax
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0x68]
mov dword [ebp - 0x74], edx
push eax
push str.LastReportTime
call fcn.005d6620
push str.LastReportTime
lea ecx, [ebp - 0x18]
call fcn.005d5df0
mov ecx, esi
call fcn.005dc190
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x495bdd
xor esi, esi
jmp 0x495e75
mov eax, dword [ebp - 0x68]
or eax, dword [ebp - 0x64]
je 0x495cf2
lea eax, [ebp - 0x28]
mov edx, 0xe57a42bd
push eax
mov eax, dword [ebp - 0x78]
mov ecx, 0xd6bf94d5
mul edx
mov eax, dword [ebp - 0x78]
mov esi, edx
mul ecx
mov ecx, 0xe57a42bd
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x58], edx
mul ecx
mov ecx, eax
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x74]
mov edx, 0xd6bf94d5
mul edx
add ecx, esi
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x78]
adc edx, 0
add eax, ecx
mov ecx, dword [ebp - 0x58]
adc ecx, 0
xor eax, eax
add edx, ecx
mov ecx, dword [ebp - 0x6c]
adc eax, eax
add esi, edx
mov edx, 0xe57a42bd
adc ecx, eax
mov eax, dword [ebp - 0x68]
mul edx
mov eax, dword [ebp - 0x68]
shrd esi, ecx, 0x17
mov ecx, 0xd6bf94d5
mov dword [ebp - 0x74], esi
mov esi, edx
mul ecx
mov ecx, 0xe57a42bd
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x7c], edx
mul ecx
mov ecx, eax
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x64]
mov edx, 0xd6bf94d5
mul edx
add ecx, esi
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0x6c]
adc edx, 0
add eax, ecx
mov ecx, dword [ebp - 0x7c]
adc ecx, 0
mov dword [ebp - 0x70], eax
xor eax, eax
add edx, ecx
mov ecx, dword [ebp - 0x84]
adc eax, eax
add esi, edx
adc ecx, eax
mov eax, dword [ebp - 0x74]
shrd esi, ecx, 0x17
sub eax, esi
push eax
call fcn.00438660
test eax, eax
je 0x495cec
sub esp, 0xc
lea ecx, [ebp - 0x28]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.The_total_time_of_the_repair_operation_was
call fcn.005da510
mov esi, dword [ebp - 0x8c]
xorps xmm0, xmm0
mov ecx, esi
push 0
push 0x81
movups xmmword [ebp - 0x54], xmm0
movups xmmword [ebp - 0x44], xmm0
call fcn.005dc190
push eax
lea ecx, [ebp - 0x54]
call fcn.005e4770
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.__p___div__r_n_t__div__r_n__body__r_n__html_
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.005dc190
push eax
push str._t_t__table__r_n_t_t_div_class_footer___p_End_of_report._r_n
lea ecx, [ebp - 0x34]
call fcn.005dc200
push eax
lea ecx, [ebp - 0x54]
call fcn.005e3a10
neg eax
push ecx
sbb eax, eax
lea ecx, [ebp - 0x54]
neg eax
mov dword [ebp - 0x74], eax
call fcn.005e36a0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push str.UseRepairShopr
lea ecx, [ebp - 0x18]
call fcn.005d66b0
test al, al
je 0x495e55
cmp dword [ebp - 0x1c], 0
jbe 0x495e55
push 0
push 0xffffffffffffffba
sub esp, 8
mov ecx, edi
push 0x46
push 0x1c2
push dword [edi + 0x14e4]
push str.Sending_reports_to_RepairShopr...
call fcn.0043da60
mov ecx, eax
call fcn.005b66e0
lea eax, [edi + 0x14f0]
push 0
push str.Cancel
mov ecx, eax
mov dword [ebp - 0x84], eax
call fcn.005b64a0
push 0
push 1
mov ecx, edi
call fcn.0043d720
mov ecx, esi
mov dword [ebp - 0x5c], edi
call fcn.005dc190
push 0
push 0
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x5c]
push eax
push 0x469c20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmove esi, eax
mov dword [ebp - 0x6c], esi
xor edx, edx
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.005cca30
test al, al
je 0x495e34
push 0
push 0
mov ecx, edi
call fcn.0043d720
test eax, eax
jne 0x495e34
xor edx, edx
mov ecx, esi
call fcn.005cca30
test al, al
jne 0x495e18
mov ecx, dword [ebp - 0x84]
push 2
call fcn.005b6250
cmp esi, 0xffffffff
je 0x495e55
test esi, esi
je 0x495e55
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
jmp 0x495e5b
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x4c]
call fcn.005d9280
mov eax, dword [ebp - 0x54]
cmp eax, 0xffffffff
je 0x495e72
test eax, eax
je 0x495e72
push eax
call esi
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
call fcn.005dc430
lea ecx, [ebp - 0x34]
call fcn.005dc430
lea ecx, [ebp - 0x18]
call fcn.005d69e0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4