Function at 0x10190580
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x838
mov eax, dword [0x10250150]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, ecx
mov eax, dword [edi + 8]
test eax, eax
je 0x101905b6
cmp dword [edi], 0
je 0x101905b6
mov eax, 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10212f74
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push esi
test eax, eax
jne 0x10190724
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.102134e7
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push dword [0x10256b30]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str...deepscan_
lea eax, [ebp - 0x20c]
push eax
call ebx
push str.360Quarant.dll
lea eax, [ebp - 0x20c]
push eax
call ebx
call fcn.10003ae0
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp dword [eax + 0x140], 2
jne 0x10190648
call fcn.10003ae0
cmp dword [eax + 0x140], 2
jne 0x10190637
mov eax, dword [eax + 0x3c]
jmp 0x10190639
xor eax, eax
test eax, eax
je 0x10190648
lea ecx, [ebp - 0x20c]
push ecx
call eax
jmp 0x10190651
lea eax, [ebp - 0x20c]
push eax
call esi
cmp eax, 0xffffffff
je 0x10190948
test al, 0x10
jne 0x10190948
lea eax, [ebp - 0x20c]
push eax
call fcn.10191010
push 0x208
mov dword [edi + 8], eax
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.102134e7
add esp, 0x10
lea eax, [ebp - 0x414]
push 0x104
push eax
push dword [0x10256b30]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str...deepscan_
lea eax, [ebp - 0x414]
push eax
call ebx
push str.360Quarantplugin.dll
lea eax, [ebp - 0x414]
push eax
call ebx
call fcn.10003ae0
cmp dword [eax + 0x140], 2
jne 0x101906ed
call fcn.10003ae0
cmp dword [eax + 0x140], 2
jne 0x101906dc
mov eax, dword [eax + 0x3c]
jmp 0x101906de
xor eax, eax
test eax, eax
je 0x101906ed
lea ecx, [ebp - 0x414]
push ecx
call eax
jmp 0x101906f6
lea eax, [ebp - 0x414]
push eax
call esi
cmp eax, 0xffffffff
je 0x10190948
test al, 0x10
jne 0x10190948
lea eax, [ebp - 0x414]
push eax
call fcn.10191010
mov dword [edi + 0xc], eax
add esp, 4
mov eax, dword [edi + 8]
test eax, eax
je 0x10190948
cmp dword [edi + 0xc], 0
je 0x10190948
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateQuarantObject
push eax
call esi
push str.CreateQuarantObject
push dword [edi + 0xc]
mov dword [edi], eax
call esi
mov dword [edi + 4], eax
mov ecx, edi
lea eax, [edi + 0x10]
push eax
push 0x10233868
mov dword [ebp - 0x838], eax
call fcn.1018e650
cmp dword [edi + 0x10], 0
je 0x1019092a
mov eax, dword [0x1025a370]
cmp dword [eax - 0xc], 0
jne 0x101907e7
push 0x400
lea eax, [ebp - 0x814]
push 0
push eax
call fcn.102134e7
add esp, 0xc
lea eax, [ebp - 0x814]
push 0
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x10190948
push str.360Quarant
lea eax, [ebp - 0x814]
push eax
call ebx
test eax, eax
je 0x10190948
lea ecx, [ebp - 0x814]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x101907c6
sub ecx, edx
lea eax, [ebp - 0x814]
sar ecx, 1
push ecx
push eax
mov ecx, 0x1025a370
call fcn.10004050
mov eax, dword [0x1025a374]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmp dword [eax - 0xc], 0
jne 0x10190824
mov esi, dword [ebp - 0x818]
lea ecx, [ebp - 0x824]
xor edi, edi
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x824], edi
mov dword [ebp - 0x834], 1
mov dword [ebp - 0x830], edi
jmp 0x1019086b
test eax, eax
jne 0x10190832
xor esi, esi
mov dword [ebp - 0x818], esi
jmp 0x10190845
push eax
call ebx
mov esi, eax
mov dword [ebp - 0x818], esi
test esi, esi
je 0x1019095b
mov edi, dword [ebp - 0x824]
lea eax, [ebp - 0x818]
mov dword [ebp - 0x828], eax
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 2
mov eax, dword [0x1025a3a4]
test eax, eax
jne 0x1019087c
mov dword [ebp - 0x820], eax
jmp 0x1019088d
push eax
call ebx
mov dword [ebp - 0x820], eax
test eax, eax
je 0x1019095b
mov eax, dword [0x1025a9ec]
test eax, eax
jne 0x1019089e
mov dword [ebp - 0x81c], eax
jmp 0x101908af
push eax
call ebx
mov dword [ebp - 0x81c], eax
test eax, eax
je 0x1019095b
mov eax, dword [0x1025a370]
test eax, eax
jne 0x101908c0
mov dword [ebp - 0x82c], eax
jmp 0x101908d1
push eax
call ebx
mov dword [ebp - 0x82c], eax
test eax, eax
je 0x1019095b
mov ebx, dword [ebp - 0x828]
mov ecx, dword [ebp - 0x838]
push dword [ebx]
mov ecx, dword [ecx]
push dword [ebp - 0x820]
push dword [ebp - 0x81c]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0xc]
push dword [ebp - 0x82c]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call ebx
push dword [ebp - 0x81c]
call ebx
push dword [ebp - 0x820]
call ebx
cmp dword [ebp - 0x830], 0
je 0x1019091e
push esi
call ebx
cmp dword [ebp - 0x834], 0
je 0x1019092a
push edi
call ebx
mov ecx, dword [ebp - 0x838]
xor eax, eax
pop esi
pop ebx
pop edi
cmp dword [ecx], eax
setne al
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10212f74
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
pop ebx
xor ecx, ebp
pop edi
call fcn.10212f74
mov esp, ebp
pop ebp
ret
push 0x8007000e
call fcn.100030c0
int3