Function at 0x40ab36
Capabilities:
Create process on windows
Get comspec environment variable
Query environment variable
Self delete

Disassembly:
push 0x51c
mov eax, 0x4429d8
call fcn.004342a8
mov esi, 0x208
xor ebx, ebx
push esi
lea eax, [ebp - 0x222]
push ebx
push eax
mov word [ebp - 0x224], bx
call fcn.004324e0
push esi
lea eax, [ebp - 0x432]
push ebx
push eax
mov word [ebp - 0x434], bx
call fcn.004324e0
add esp, 0x18
mov esi, 0x104
push esi
lea eax, [ebp - 0x224]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40af37
push esi
lea eax, [ebp - 0x434]
push eax
push str.COMSPEC
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x40af37
lea eax, [ebp - 0x4c4]
call fcn.0040e514
push 7
mov dword [ebp - 4], ebx
pop esi
mov dword [ebp - 0x470], esi
mov dword [ebp - 0x474], ebx
mov word [ebp - 0x484], bx
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x4c4]
push eax
mov byte [ebp - 4], 1
call fcn.0040e3ee
test al, al
jne 0x40abf7
push ebx
push 1
jmp 0x40af1c
push str..bat
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.00404619
add esp, 0xc
lea eax, [ebp - 0x450]
lea ecx, [ebp - 0x488]
call fcn.0040d4cc
test al, al
jne 0x40ac37
push ebx
push 1
lea esi, [ebp - 0x450]
call fcn.004012b5
jmp 0x40abef
lea eax, [ebp - 0x4c4]
call fcn.0040e3a3
mov dword [ebp - 0x454], esi
mov dword [ebp - 0x458], ebx
mov word [ebp - 0x468], bx
push str.if_not_exist__
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 3
call fcn.00403f6b
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.00403f6b
push str.___del__0___else__ping_127.0.0.1__n_2del__
lea eax, [ebp - 0x46c]
push eax
call fcn.00403f6b
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.00403f6b
push str.__0_
lea eax, [ebp - 0x46c]
push eax
call fcn.00403f6b
lea esi, [ebp - 0x4c8]
call fcn.0040da15
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 4
call fcn.0040de65
test al, al
jne 0x40acea
mov eax, esi
call fcn.0040de47
push ebx
push 1
lea esi, [ebp - 0x46c]
call fcn.004012b5
jmp 0x40ac27
lea edi, [ebp - 0x46c]
lea eax, [ebp - 0x4a4]
call fcn.0040e34e
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x490]
cmp edi, ebx
je 0x40aee5
cmp dword [ebp - 0x48c], 0x10
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x4cc], ebx
jae 0x40ad28
lea eax, [ebp - 0x4a0]
push eax
lea esi, [ebp - 0x4cc]
lea eax, [ebp - 0x4c8]
call fcn.0040de9d
test al, al
je 0x40aee5
mov eax, edi
cmp dword [ebp - 0x4cc], eax
jne 0x40aee5
lea esi, [ebp - 0x4c8]
call fcn.0040decf
test al, al
je 0x40aee5
push 0x3c
pop esi
push esi
lea eax, [ebp - 0x50c]
push ebx
push eax
call fcn.004324e0
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x528]
push str._c__
push eax
mov dword [ebp - 0x50c], esi
mov dword [ebp - 0x500], str.Open
call fcn.004045cf
add esp, 0x18
push 0xffffffffffffffff
lea ecx, [ebp - 0x450]
push ecx
xor ebx, ebx
mov byte [ebp - 4], 6
call fcn.00401313
xor edi, edi
push edi
inc ebx
push ebx
lea esi, [ebp - 0x528]
mov byte [ebp - 4], 5
call fcn.004012b5
push 0x446e08
lea eax, [ebp - 0x450]
push eax
call fcn.00403f6b
cmp dword [ebp - 0x438], 8
mov eax, dword [ebp - 0x44c]
jae 0x40aded
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x4f8], eax
lea eax, [ebp - 0x434]
mov dword [ebp - 0x4fc], eax
lea eax, [ebp - 0x50c]
push eax
mov dword [ebp - 0x4f0], edi
mov dword [ebp - 0x508], 0x8040
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x40ae59
push edi
push ebx
lea ecx, [ebp - 0x4a4]
call fcn.004020de
lea eax, [ebp - 0x4c8]
call fcn.0040de47
push edi
push ebx
lea esi, [ebp - 0x46c]
call fcn.004012b5
push edi
push ebx
lea esi, [ebp - 0x450]
call fcn.004012b5
push edi
push ebx
jmp 0x40af1c
mov esi, dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push 0x40
push dword [ebp - 0x4d4]
call esi
test eax, eax
je 0x40ae20
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x40ae20
push 0xf
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
test eax, eax
push edi
lea ecx, [ebp - 0x4a4]
push ebx
je 0x40ae28
call fcn.004020de
lea eax, [ebp - 0x4c8]
call fcn.0040de47
push edi
push ebx
lea esi, [ebp - 0x46c]
call fcn.004012b5
push edi
push ebx
lea esi, [ebp - 0x450]
call fcn.004012b5
push edi
push ebx
lea esi, [ebp - 0x488]
call fcn.004012b5
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x4c4]
push eax
call fcn.0040e377
mov al, bl
jmp 0x40af39
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x4a4]
call fcn.004020de
lea eax, [ebp - 0x4c8]
call fcn.0040de47
push ebx
push edi
lea esi, [ebp - 0x46c]
call fcn.004012b5
push ebx
push edi
lea esi, [ebp - 0x450]
call fcn.004012b5
push ebx
push edi
lea esi, [ebp - 0x488]
call fcn.004012b5
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x4c4]
push eax
call fcn.0040e377
xor al, al
call fcn.0043432b
ret