Entonces no es stdcall se supone que si era stdcall, Bueno revisando un poco la funcion yo encontre
el codigo siguiente, se supone que es llamar a la funcion
ReadDataFromTPM ...
El Codigo del pastebin que subiste es el de la funcion
ReadCertFromTPM...
X_100033F0: push ebp
X_100033F1: mov ebp, esp
X_100033F3: push -0x1
X_100033F5: push 0x1000c3b8
X_100033FA: mov eax, fs:[0x0]
X_10003400: push eax
X_10003401: sub esp, 0x8
X_10003404: push ebx
X_10003405: push esi
X_10003406: push edi
X_10003407: mov eax, [0x1001001c]
X_1000340C: xor eax, ebp
X_1000340E: push eax
X_1000340F: lea eax, [ebp-0xc]
X_10003412: mov fs:[0x0], eax
X_10003418: mov [ebp-0x10], esp
X_1000341B: mov esi, [ebp+0x8]
X_1000341E: xor ebx, ebx
X_10003420: cmp esi, ebx
X_10003422: jz 0x10003463
X_10003424: push 0x18
X_10003426: mov [ebp-0x4], ebx
X_10003429: call 0x100036a0
X_1000342E: add esp, 0x4
X_10003431: cmp eax, ebx
X_10003433: mov [ebp-0x14], eax
X_10003436: jz 0x10003463
X_10003438: lea ecx, [ebp+0xb]
X_1000343B: call 0x10002470
X_10003440: lea eax, [ebp-0x14]
X_10003443: push eax
X_10003444: push 0x18
X_10003446: push 0x3
X_10003448: lea ecx, [ebp+0xb]
X_1000344B: mov byte [ebp-0x4], 0x1
X_1000344F: call 0x100026e0
X_10003454: cmp eax, ebx
X_10003456: mov [ebp-0x4], bl
X_10003459: jz 0x10003478
X_1000345B: lea ecx, [ebp+0xb]
X_1000345E: call 0x10002480
X_10003463: or eax, -0x1
X_10003466: mov ecx, [ebp-0xc]
X_10003469: mov fs:[0x0], ecx
X_10003470: pop ecx
X_10003471: pop edi
X_10003472: pop esi
X_10003473: pop ebx
X_10003474: mov esp, ebp
X_10003476: pop ebp
X_10003477: ret
el parametro se recupera aquí:
X_1000341B: mov esi, [ebp+0x8]
sino me equivoco
se tendria que depurar para ver adonde se pierde la pila
ED: bueno igual ahora que releo los post
entonces el problema era la convecion