I'm having trouble of getting the return value of the sqlite3_column_double value. The value isn't returned in eax:edx as i have thought. Via OllyDBG i got hold of the assembler instructions for the procedures sqlite3_column_int (returns via eax) and sqlite3_column_double.
sqlite3_column_int:
PUSH EBP
MOV EBP,ESP
SUB ESP,10
PUSH ESI
PUSH EBX
MOV EBX,DWORD PTR SS:[EBP+8]
ADD ESP,-0C
ADD ESP,-8
PUSH DWORD PTR SS:[EBP+C]
PUSH EBX
CALL sqlite3.6093164C
PUSH EAX
CALL sqlite3.sqlite3_value_int
MOV ESI,EAX
ADD ESP,20
ADD ESP,-0C
PUSH EBX
CALL sqlite3.609316AC
MOV EAX,ESI
LEA ESP,DWORD PTR SS:[EBP-18]
POP EBX
POP ESI
LEAVE
RETN
sqlite3_column_double:
PUSH EBP
MOV EBP,ESP
SUB ESP,24
PUSH EBX
MOV EBX,DWORD PTR SS:[EBP+8]
ADD ESP,-0C
ADD ESP,-8
PUSH DWORD PTR SS:[EBP+C]
PUSH EBX
CALL sqlite3.6093164C
PUSH EAX
CALL sqlite3.sqlite3_value_double
ADD ESP,20
ADD ESP,-0C
FSTP QWORD PTR SS:[EBP-8]
PUSH EBX
CALL sqlite3.609316AC
MOV EBX,DWORD PTR SS:[EBP-28]
FLD QWORD PTR SS:[EBP-8]
LEAVE
RETN
Could anyone please explain me how i can get hold of the return value of sqlite3_column_double? Thanks in advance!