Function at 0x10019b70
Capabilities:
Check if file exists
Create process on windows
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10071e16
mov eax, dword fs:[0]
push eax
sub esp, 0x2d8
mov eax, dword [0x10089040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2e0], ecx
mov ebx, dword [ebp + 8]
push 0
mov dword [ebp - 0x22c], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x2dc], eax
test eax, eax
js 0x1001a175
mov ecx, dword [ebx + 4]
mov eax, 0xdd67c8a7
sub ecx, dword [ebx]
xorps xmm0, xmm0
imul ecx
movq qword [ebp - 0x228], xmm0
mov dword [ebp - 0x220], 0
add edx, ecx
mov dword [ebp - 0x228], 0
sar edx, 7
mov eax, edx
mov dword [ebp - 0x224], 0
shr eax, 0x1f
mov dword [ebp - 0x220], 0
add eax, edx
je 0x10019cf4
cmp eax, 0x1bacf91
ja 0x1001a19d
imul edi, eax, 0x94
test edi, edi
jne 0x10019c2d
xor esi, esi
jmp 0x10019c67
cmp edi, 0x1000
jb 0x10019c5c
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x1001a1a2
push eax
call fcn.10043901
add esp, 4
test eax, eax
je 0x1001a1a7
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x10019c67
push edi
call fcn.10043901
add esp, 4
mov esi, eax
lea ecx, [edi + esi]
mov dword [ebp - 0x228], esi
lea eax, [ebp - 0x228]
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov edi, dword [ebp - 0x22c]
mov ebx, dword [ebx + 4]
movq qword [ebp - 0x238], xmm0
mov dword [ebp - 0x230], 0
mov edi, dword [edi]
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x234], esi
mov dword [ebp - 0x230], eax
mov byte [ebp - 4], 1
cmp edi, ebx
je 0x10019cee
nop dword [eax]
push edi
mov ecx, esi
call fcn.10012a60
add esi, 0x94
add edi, 0x94
mov dword [ebp - 0x234], esi
cmp edi, ebx
jne 0x10019cd0
mov dword [ebp - 0x224], esi
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 4], 2
call fcn.1000d360
mov byte [ebp - 4], 3
mov eax, dword [0x1008beb0]
test al, 1
jne 0x10019d46
or eax, 1
mov dword [0x1008beb0], eax
push 0x68
push 0
push 0x1008be48
mov byte [ebp - 4], 4
call fcn.10045390
add esp, 0xc
call fcn.10005f50
push 0x10074980
call fcn.100438b2
add esp, 4
mov byte [ebp - 4], 3
mov edx, dword [0x1008be48]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10019d51
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2d0]
call fcn.1000cd00
mov eax, dword [ebp - 0x224]
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x2d4], 3
push ecx
cmp eax, dword [ebp - 0x220]
je 0x10019da9
mov edx, eax
call fcn.10012790
mov eax, dword [ebp - 0x224]
add esp, 4
add eax, 0x94
mov dword [ebp - 0x224], eax
jmp 0x10019dbb
push eax
lea ecx, [ebp - 0x228]
call fcn.100123c0
mov eax, dword [ebp - 0x224]
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x2d4], 1
push ecx
cmp eax, dword [ebp - 0x220]
je 0x10019dea
mov edx, eax
call fcn.10012790
add esp, 4
add dword [ebp - 0x224], 0x94
jmp 0x10019df6
push eax
lea ecx, [ebp - 0x228]
call fcn.100123c0
mov eax, dword [0x1008beb0]
test al, 1
jne 0x10019e32
or eax, 1
mov dword [0x1008beb0], eax
push 0x68
push 0
push 0x1008be48
mov byte [ebp - 4], 5
call fcn.10045390
add esp, 0xc
call fcn.10005f50
push 0x10074980
call fcn.100438b2
add esp, 4
mov byte [ebp - 4], 3
mov edx, dword [0x1008be48]
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10019e40
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2b8]
call fcn.1000cd00
mov eax, dword [ebp - 0x224]
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x2d4], 2
push ecx
cmp eax, dword [ebp - 0x220]
je 0x10019e91
mov edx, eax
call fcn.10012790
add esp, 4
add dword [ebp - 0x224], 0x94
jmp 0x10019e9d
push eax
lea ecx, [ebp - 0x228]
call fcn.100123c0
mov eax, dword [0x1008beb0]
test al, 1
jne 0x10019ed9
or eax, 1
mov dword [0x1008beb0], eax
push 0x68
push 0
push 0x1008be48
mov byte [ebp - 4], 6
call fcn.10045390
add esp, 0xc
call fcn.10005f50
push 0x10074980
call fcn.100438b2
add esp, 4
mov byte [ebp - 4], 3
mov edx, dword [0x1008be4c]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10019ee4
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2d0]
call fcn.1000cd00
mov eax, dword [ebp - 0x224]
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x2d4], 2
push ecx
cmp eax, dword [ebp - 0x220]
je 0x10019f3d
mov edx, eax
call fcn.10012790
mov ecx, dword [ebp - 0x224]
add esp, 4
add ecx, 0x94
mov dword [ebp - 0x224], ecx
jmp 0x10019f4f
push eax
lea ecx, [ebp - 0x228]
call fcn.100123c0
mov ecx, dword [ebp - 0x224]
sub ecx, dword [ebp - 0x228]
xor edx, edx
mov dword [ebp - 0x2d8], edx
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001a142
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor edi, edi
nop
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x2e0]
add eax, edi
push 0
push eax
call fcn.1001a1b0
mov dword [ebp - 0x2dc], eax
test eax, eax
js 0x1001a10b
mov ecx, dword [ebp - 0x228]
cmp dword [ecx + edi + 0x8c], 0
je 0x1001a10b
lea eax, [ecx + 0x7c]
add eax, edi
cmp dword [ecx + edi], 3
jne 0x1001a09d
cmp dword [eax + 0x14], 7
jbe 0x10019fcf
mov eax, dword [eax]
push eax
call ebx
test eax, eax
je 0x1001a10b
mov eax, dword [ebp - 0x228]
add eax, edi
push eax
call fcn.1001a600
call fcn.10003fc0
mov ecx, eax
test ecx, ecx
je 0x1001a193
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x22c], eax
push str.barU
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 7
push str.Task_snPin
push eax
call fcn.10005430
mov eax, dword [ebp - 0x228]
add esp, 0xc
add eax, 0x7c
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x1001a035
mov eax, dword [eax]
mov esi, dword [ebp - 0x22c]
push 0
push 0
push 0
push eax
push esi
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [ebp - 0x228]
add eax, 0x7c
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x1001a05e
mov eax, dword [eax]
push eax
call ebx
test eax, eax
je 0x1001a07f
mov eax, dword [ebp - 0x228]
add eax, 0x7c
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x1001a078
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 3
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1001a10b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1001a10b
cmp dword [eax + 0x14], 7
jbe 0x1001a0a5
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, dword [ebp - 0x228]
cmp dword [esi + edi + 0x2c], 0
je 0x1001a10b
push 0x208
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.10045390
lea eax, [esi + 0x7c]
add esp, 0xc
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x1001a0dc
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x21c]
push 0x104
push eax
call fcn.1004e44f
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, dword [ebp - 0x224]
mov eax, 0xdd67c8a7
sub ecx, dword [ebp - 0x228]
add edi, 0x94
inc dword [ebp - 0x2d8]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x2d8], eax
jb 0x10019f80
push 0
push 0
push 0
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x2d4]
call fcn.100101a0
lea ecx, [ebp - 0x228]
call fcn.10011ea0
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10043277
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100013a0
call fcn.10009d40
call fcn.10009f80
call fcn.10047224
int3