I made some changes and thats the result.. Is this in some way correct?
BYTE remote_load_library[81] =
{
0x83, 0xEC, 0x38, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x44, 0x24, 0x20, 0x8B, 0x44, 0x24, 0x20, 0x83, 0x38,
0x00, 0x75, 0x33, 0x8B, 0x44, 0x24, 0x20, 0xC7, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x44, 0x24, 0x20, 0x8B, 0x40, 0x08, 0x89, 0x44,
0x24, 0x28, 0x8B, 0x44, 0x24, 0x20, 0x83, 0xC0, 0x18, 0x8B, 0xC8, 0xFF, 0x54, 0x24, 0x28, 0x8B, 0x4C, 0x24, 0x20, 0x89, 0x41, 0x10,
0x8B, 0x44, 0x24, 0x20, 0xC7, 0x00, 0x02, 0x00, 0x00, 0x00, 0x83, 0xC4, 0x38, 0xC3, 0xCC
};
BYTE remote_call_dll_main[80] =
{
0x83,0xEC,0x38,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0x44,0x24,0x20,0x48,0x8B,0x44,0x24,0x20,0x83,0x38,0x00,0x75,0x31,0x48,
0x8B,0x44,0x24,0x20,0xC7,0x00,0x01,0x00,0x00,0x00,0x8B,0x44,0x24,0x20,0x8B,0x40,0x08,0x89,0x44,0x24,0x28,0x33,0xC0,0xBA,0x01,0x00,0x00,
0x00,0x8B,0x44,0x24,0x20,0x8B,0x10,0xFF,0x54,0x24,0x28,0x8B,0x44,0x24,0x20,0xC7,0x00,0x02,0x00,0x00,0x00,0x83,0xC4,0x38,0xC3,0xCC
};
DWORD shell_data_offset = 0x4;