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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cd70e
mov eax, dword fs:[0]
push eax
sub esp, 0x2cc
mov eax, dword [0x4f80c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2d8], ecx
mov ebx, dword [ebp + 8]
push 0
mov dword [ebp - 0x228], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x2d4], eax
test eax, eax
js 0x45c291
mov eax, dword [ebx + 4]
xorps xmm0, xmm0
sub eax, dword [ebx]
sar eax, 2
imul eax, eax, 0x914c1bad
movq qword [ebp - 0x224], xmm0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
test eax, eax
je 0x45bd25
cmp eax, 0x1bacf91
ja 0x45c2b9
imul edi, eax, 0x94
test edi, edi
jne 0x45bc65
xor esi, esi
jmp 0x45bc9f
cmp edi, 0x1000
jb 0x45bc94
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x45c2be
push eax
call fcn.004989e3
add esp, 4
test eax, eax
je 0x45c2c3
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x45bc9f
push edi
call fcn.004989e3
add esp, 4
mov esi, eax
lea ecx, [esi + edi]
mov dword [ebp - 0x224], esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov edi, dword [ebp - 0x228]
mov ebx, dword [ebx + 4]
movq qword [ebp - 0x234], xmm0
mov dword [ebp - 0x22c], 0
mov edi, dword [edi]
mov dword [ebp - 0x234], esi
mov dword [ebp - 0x230], esi
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 1
cmp edi, ebx
je 0x45bd1f
push edi
mov ecx, esi
call fcn.00459700
add esi, 0x94
add edi, 0x94
mov dword [ebp - 0x230], esi
cmp edi, ebx
jne 0x45bd01
mov dword [ebp - 0x220], esi
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 4], 2
call fcn.00454070
mov esi, dword [0x50d658]
test esi, esi
je 0x45bd4b
lock inc dword [esi + 4]
mov esi, dword [0x50d658]
mov ecx, dword [0x50d654]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], esi
mov byte [ebp - 4], 4
lea edx, [ebp - 0x228]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 5
mov edx, dword [eax]
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45bd80
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2c4]
call fcn.00453bc0
mov byte [ebp - 4], 4
or eax, 0xffffffff
mov edx, dword [ebp - 0x228]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45bdbe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
test esi, esi
je 0x45bde7
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x45bde7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x45bde7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 3
push ecx
cmp eax, dword [ebp - 0x21c]
je 0x45be20
mov ecx, eax
call fcn.00459700
mov eax, dword [ebp - 0x220]
add eax, 0x94
mov dword [ebp - 0x220], eax
jmp 0x45be32
push eax
lea ecx, [ebp - 0x224]
call fcn.00459170
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 1
push ecx
cmp eax, dword [ebp - 0x21c]
je 0x45be5e
mov ecx, eax
call fcn.00459700
add dword [ebp - 0x220], 0x94
jmp 0x45be6a
push eax
lea ecx, [ebp - 0x224]
call fcn.00459170
mov esi, dword [0x50d658]
test esi, esi
je 0x45be7e
lock inc dword [esi + 4]
mov esi, dword [0x50d658]
mov ecx, dword [0x50d654]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], esi
mov byte [ebp - 4], 6
lea edx, [ebp - 0x228]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 7
mov edx, dword [eax]
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45beb0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2ac]
call fcn.00453bc0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x228]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45beee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
test esi, esi
je 0x45bf17
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x45bf17
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x45bf17
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 2
push ecx
cmp eax, dword [ebp - 0x21c]
je 0x45bf49
mov ecx, eax
call fcn.00459700
add dword [ebp - 0x220], 0x94
jmp 0x45bf55
push eax
lea ecx, [ebp - 0x224]
call fcn.00459170
mov esi, dword [0x50d658]
test esi, esi
je 0x45bf69
lock inc dword [esi + 4]
mov esi, dword [0x50d658]
mov ecx, dword [0x50d654]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], esi
mov byte [ebp - 4], 8
lea edx, [ebp - 0x228]
mov eax, dword [ecx]
push edx
call dword [eax + 0x10]
mov byte [ebp - 4], 9
mov edx, dword [eax]
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45bf96
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2c4]
call fcn.00453bc0
mov byte [ebp - 4], 8
or eax, 0xffffffff
mov edx, dword [ebp - 0x228]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45bfd4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
test esi, esi
je 0x45bffd
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x45bffd
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x45bffd
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 2
push ecx
cmp eax, dword [ebp - 0x21c]
je 0x45c036
mov ecx, eax
call fcn.00459700
mov eax, dword [ebp - 0x220]
add eax, 0x94
mov dword [ebp - 0x220], eax
jmp 0x45c048
push eax
lea ecx, [ebp - 0x224]
call fcn.00459170
mov eax, dword [ebp - 0x220]
sub eax, dword [ebp - 0x224]
xor ebx, ebx
sar eax, 2
imul eax, eax, 0x914c1bad
test eax, eax
je 0x45c227
xor edi, edi
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x2d8]
add eax, edi
push 0
push eax
call fcn.0045c2d0
mov dword [ebp - 0x2d4], eax
test eax, eax
js 0x45c203
mov ecx, dword [ebp - 0x224]
cmp dword [ecx + edi + 0x8c], 0
je 0x45c203
lea eax, [ecx + 0x7c]
add eax, edi
cmp dword [ecx + edi], 3
jne 0x45c195
cmp dword [eax + 0x14], 7
jbe 0x45c0bf
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45c203
mov eax, dword [ebp - 0x224]
add eax, edi
push eax
call fcn.0045c7d0
call fcn.00405000
mov ecx, eax
test ecx, ecx
je 0x45c2af
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x228], eax
push str.barU
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0xa
push str.Task_snPin
push eax
call fcn.0041f980
mov eax, dword [ebp - 0x224]
add esp, 0xc
add eax, 0x7c
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x45c129
mov eax, dword [eax]
mov esi, dword [ebp - 0x228]
push 0
push 0
push 0
push eax
push esi
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [ebp - 0x224]
add eax, 0x7c
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x45c152
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45c177
mov eax, dword [ebp - 0x224]
add eax, 0x7c
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x45c170
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 0x45c203
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45c203
cmp dword [eax + 0x14], 7
jbe 0x45c19d
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, dword [ebp - 0x224]
cmp dword [esi + edi + 0x2c], 0
je 0x45c203
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0049a960
lea eax, [esi + 0x7c]
add esp, 0xc
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x45c1d4
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.004af545
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov eax, dword [ebp - 0x220]
inc ebx
sub eax, dword [ebp - 0x224]
add edi, 0x94
sar eax, 2
imul eax, eax, 0x914c1bad
cmp ebx, eax
jb 0x45c070
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 - 0x24c]
call fcn.00426120
lea ecx, [ebp - 0x264]
call fcn.00426120
lea ecx, [ebp - 0x27c]
call fcn.00426120
lea ecx, [ebp - 0x294]
call fcn.00426120
lea ecx, [ebp - 0x2ac]
call fcn.00426120
lea ecx, [ebp - 0x2c4]
call fcn.00426120
lea ecx, [ebp - 0x224]
call fcn.00453b50
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00498d60
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00404de0
call fcn.00404080
call fcn.004046e0
call fcn.0049df3f
int3