need help with inline assembly

Hello guys I hope you can help me on this one!

Im having an issue when I want to push callm1

char callm1[33]={'1','7','4','7','F','1','F','2','8','B','C',
'3','5','3','7','E','5','B','7','0',
'F','9','1','5','C','D',
'F','7','B','3','B','0',
'\0'};

CallMethod()
{
__asm push callm1
__asm push [ebp+0x10]
__asm call repsub
__asm or eax, eax
__asm leave
__asm retn
return 1;
}

the result on push callm1
is
dword_10003028 dd 37343731h ; DATA XREF: CallMethod+6<r
.data:1000302C aF1f28bc3537e5b db 'F1F28BC3537E5B70F915CDF7B3B0',0

it only pushes the dd 37343731h..
and i want to push db '1747F1F28BC3537E5B70F915CDF7B3B0',0

I wanted to use callm1 so I can repe cmpsd with another value!

how can I fix it?

Push the elements one by one:
1
2
3
4
5
6
7
8
9
  _asm
  {
    lea esi,callm1
    mov ecx,10 ;number of elements that you want to push to stack
mrp:
    lodsb
    push eax
    loop mrp
  }
Topic archived. No new replies allowed.