Function at 0x404e20
Capabilities:
Create process on windows
Create process suspended
Delete file
Get hostname
Write and execute a file
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x416798
push 0x407eec
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffffe34
mov eax, dword [0x41b2c0]
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0xac], 1
mov dword [ebp - 0x1bc], 0x104
mov dword [ebp - 0x1d0], 0
push str.winmsd__f
lea eax, [ebp - 0x60]
push eax
call fcn.00407700
add esp, 8
push 0
lea ecx, [ebp - 0x1d4]
push ecx
push 2
push 0x416434
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x400
push 0
push 0x41bc40
call fcn.00407c90
add esp, 0xc
lea eax, [ebp - 0x60]
push eax
push 0x416438
push 0x41bc40
call fcn.00407ff2
add esp, 0xc
push 0
lea ecx, [ebp - 0x1d4]
push ecx
push 0x41bc40
call fcn.00407800
add esp, 4
push eax
push 0x41bc40
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea eax, [ebp - 0x1d4]
push eax
push 2
push 0x416440
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 4], 0
push 0x10
push 0
lea edx, [ebp - 0x1cc]
push edx
call fcn.00407c90
add esp, 0xc
push 0x44
push 0
lea eax, [ebp - 0xa8]
push eax
call fcn.00407c90
add esp, 0xc
mov dword [ebp - 0xa8], 0x44
lea ecx, [ebp - 0x1cc]
push ecx
lea edx, [ebp - 0xa8]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x60]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x404ff2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0
je 0x404f8f
mov ecx, dword [ebp - 0x1d8]
push ecx
call fcn.00405c70
add esp, 4
push 0
lea edx, [ebp - 0x1d4]
push edx
push 0x416444
call fcn.00407800
add esp, 4
push eax
push 0x41645c
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea ecx, [ebp - 0x1d4]
push ecx
push 2
push 0x416474
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x416478
push 0x41b080
call fcn.00407930
add esp, 8
push 0
push 0
push 0
push 0xe0000101
call dword [sym.imp.KERNEL32.dll_RaiseException]
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1c8]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x1bc]
push ecx
lea edx, [ebp - 0x1b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
jne 0x4050a4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x405041
mov eax, dword [ebp - 0x1dc]
push eax
call fcn.00405c70
add esp, 4
push 0
lea ecx, [ebp - 0x1d4]
push ecx
push 0x416498
call fcn.00407800
add esp, 4
push eax
push 0x4164b0
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea eax, [ebp - 0x1d4]
push eax
push 2
push 0x4164c8
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push str._Unable_to_get_machine_information_
push 0x41b080
call fcn.00407930
add esp, 8
push 0
push 0
push 0
push 0xe0000101
call dword [sym.imp.KERNEL32.dll_RaiseException]
push str..txt
lea edx, [ebp - 0x1b8]
push edx
call fcn.00407710
add esp, 8
push 1
lea eax, [ebp - 0x1b8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00402600
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
jmp 0x4050f0
lea edx, [ebp - 0x1b8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.00407d96
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret