Function at 0x1009b0d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 0x18]
mov ecx, dword [esi]
xor eax, eax
cmp byte [ecx + 3], 0x34
push edi
sete al
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009b135
sub eax, ecx
add eax, 1
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009b150
mov edi, dword [ebp + 0x14]
sub eax, edx
add eax, 1
mov dword [esp + 0x68], eax
lea edi, [edi*4 - 8]
call sym.SQLite.Interop.dll_sqlite3_initialize
test eax, eax
je 0x1009b179
xor eax, eax
jmp 0x1009b182
push edi
call fcn.10025930
add esp, 4
test eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], eax
je 0x1009b1ad
push edi
mov edx, eax
push 0
push edx
call fcn.10003bb0
add esp, 0xc
call sym.SQLite.Interop.dll_sqlite3_initialize
test eax, eax
je 0x1009b264
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], 7
mov edx, dword [esp + 0x50]
push edx
call sym.SQLite.Interop.dll_sqlite3_free
mov eax, dword [esp + 0x58]
add esp, 4
push eax
call sym.SQLite.Interop.dll_sqlite3_free
mov ecx, dword [esp + 0x38]
add esp, 4
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call sym.SQLite.Interop.dll_sqlite3_free
mov eax, dword [esp + 0x34]
add esp, 4
push eax
call sym.SQLite.Interop.dll_sqlite3_free
mov ecx, dword [esp + 0x3c]
add esp, 4
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
add esp, 4
xor esi, esi
test ebx, ebx
jle 0x1009b224
mov edx, dword [edi + esi*4]
push edx
call sym.SQLite.Interop.dll_sqlite3_free
add esi, 1
add esp, 4
cmp esi, ebx
jl 0x1009b211
mov eax, dword [esp + 0x3c]
push eax
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
push edi
call sym.SQLite.Interop.dll_sqlite3_free
mov esi, dword [esp + 0x14]
add esp, 4
test esi, esi
je 0x1009bbc3
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1009bba7
push eax
call fcn.10084270
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.10025930
add esp, 4
test eax, eax
mov dword [esp + 0x1c], eax
je 0x1009b1ad
push edi
push 0
push eax
call fcn.10003bb0
mov eax, 3
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x1009b29b
mov ebx, dword [esp + 0x14]
mov esi, dword [ebp + 0x18]
mov eax, dword [esp + 0x64]
cmp eax, dword [ebp + 0x14]
mov edi, 0xa
jge 0x1009b68d
cmp dword [esp + 0x40], 0
mov esi, dword [esi + eax*4]
mov dword [esp + 0x48], esi
jne 0x1009b339
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009b2c0
sub eax, edx
cmp eax, 8
jbe 0x1009b339
push 8
push str.tokenize
push esi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
jne 0x1009b339
mov al, byte [esi + 8]
test al, al
js 0x1009b339
movsx eax, al
cmp byte [eax + 0x100aed70], 0
jne 0x1009b339
add esi, 9
push esi
push 0x100af5a4
call sym.SQLite.Interop.dll_sqlite3_mprintf
add esp, 8
test eax, eax
jne 0x1009b31a
mov eax, 7
mov dword [esp + 0x10], eax
jmp 0x1009b678
mov ecx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push ecx
lea edx, [esp + 0x48]
push edx
push esi
call fcn.100567d0
add esp, 0x10
mov dword [esp + 0x10], eax
jmp 0x1009b678
cmp dword [esp + 0x60], 0
je 0x1009b64e
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x60]
push ecx
mov edx, esi
call fcn.10031b60
add esp, 8
test eax, eax
je 0x1009b64e
mov esi, dword [esp + 0x2c]
test esi, esi
mov eax, 7
mov dword [esp + 0x70], str.matchinfo
mov dword [esp + 0x74], 9
mov dword [esp + 0x78], str.prefix
mov dword [esp + 0x7c], 6
mov dword [esp + 0x80], str.compress
mov dword [esp + 0x84], 8
mov dword [esp + 0x88], str.uncompress
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], str.order
mov dword [esp + 0x94], 5
mov dword [esp + 0x98], str.content
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], str.languageid
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], str.notindexed
mov dword [esp + 0xac], edi
jne 0x1009b40a
mov dword [esp + 0x10], eax
jmp 0x1009b678
xor edi, edi
lea ebx, [esp + 0x74]
mov eax, dword [ebx]
cmp dword [esp + 0x5c], eax
jne 0x1009b42e
mov edx, dword [ebx - 4]
push eax
mov eax, dword [esp + 0x4c]
push edx
push eax
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x1009b439
add edi, 1
add ebx, 8
cmp edi, 8
jl 0x1009b410
cmp edi, 8
jne 0x1009b46b
mov ecx, dword [esp + 0x48]
push ecx
push str.unrecognized_parameter:__s
call sym.SQLite.Interop.dll_sqlite3_mprintf
mov edx, dword [ebp + 0x20]
add esp, 8
push esi
mov dword [edx], eax
mov dword [esp + 0x14], 1
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
cmp edi, 7
ja case.default.0x1009b474
jmp dword [edi*4 + 0x1009bbd8]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009b480
sub eax, edx
cmp eax, 4
jne 0x1009b4a3
push eax
push str.fts3
push esi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x1009b4be
push esi
push str.unrecognized_matchinfo:__s
call sym.SQLite.Interop.dll_sqlite3_mprintf
mov ecx, dword [ebp + 0x20]
add esp, 8
mov dword [ecx], eax
mov dword [esp + 0x10], 1
push esi
mov dword [esp + 0x70], 1
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov edx, dword [esp + 0x50]
push edx
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x54], esi
xor esi, esi
add esp, 4
push esi
mov dword [esp + 0x30], esi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov eax, dword [esp + 0x34]
push eax
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x38], esi
xor esi, esi
add esp, 4
push esi
mov dword [esp + 0x30], esi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov ecx, dword [esp + 0x24]
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x28], esi
xor esi, esi
add esp, 4
push esi
mov dword [esp + 0x30], esi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009b548
sub eax, edx
cmp eax, 3
jne 0x1009b56b
push eax
push 0x100b3480
push esi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x1009b5ae
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009b570
sub eax, edx
cmp eax, 4
jne 0x1009b593
push eax
push str.desc
push esi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x1009b5ae
push esi
push str.unrecognized_order:__s
call sym.SQLite.Interop.dll_sqlite3_mprintf
mov edx, dword [ebp + 0x20]
add esp, 8
mov dword [edx], eax
mov dword [esp + 0x10], 1
mov al, byte [esi]
cmp al, 0x64
je 0x1009b5ce
cmp al, 0x44
je 0x1009b5ce
push esi
mov dword [esp + 0x5c], 0
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
push esi
mov dword [esp + 0x5c], 1
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov eax, dword [esp + 0x30]
push eax
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x34], esi
xor esi, esi
add esp, 4
push esi
mov dword [esp + 0x30], esi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov ecx, dword [esp + 0x38]
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x3c], esi
xor esi, esi
add esp, 4
push esi
mov dword [esp + 0x30], esi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov dword [edx + eax*4], esi
add eax, 1
xor esi, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
push esi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x1009b678
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009b653
mov ecx, dword [esp + 0x4c]
sub eax, edx
lea edx, [ecx + eax + 1]
mov eax, dword [esp + 0x44]
mov dword [eax + ebx*4], esi
add ebx, 1
mov dword [esp + 0x4c], edx
mov dword [esp + 0x14], ebx
add dword [esp + 0x64], 1
cmp dword [esp + 0x10], 0
je 0x1009b290
jmp 0x1009b1b5
cmp dword [esp + 0x10], 0
jne 0x1009b1b5
cmp dword [esp + 0x30], 0
je 0x1009b75b
mov ecx, dword [esp + 0x34]
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call sym.SQLite.Interop.dll_sqlite3_free
xor edi, edi
add esp, 4
cmp ebx, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], edi
jne 0x1009b779
mov eax, dword [esp + 0x44]
push eax
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x4c], edi
call fcn.1008be90
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x10], eax
jne 0x1009b1b5
cmp dword [esp + 0x38], edi
mov ebx, dword [esp + 0x14]
je 0x1009b75b
xor esi, esi
cmp ebx, edi
jle 0x1009b75b
mov edi, dword [esp + 0x3c]
mov edx, dword [edi + esi*4]
mov eax, dword [esp + 0x38]
push edx
push eax
call sym.SQLite.Interop.dll_sqlite3_stricmp
add esp, 8
test eax, eax
je 0x1009b740
add esi, 1
cmp esi, ebx
jl 0x1009b722
jmp 0x1009b75b
cmp esi, ebx
mov eax, esi
jge 0x1009b754
mov ecx, dword [edi + eax*4 + 4]
mov dword [edi + eax*4], ecx
add eax, 1
cmp eax, ebx
jl 0x1009b746
sub ebx, 1
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x1009b779
mov edx, dword [esp + 0x3c]
mov dword [edx], str.content
mov dword [esp + 0x4c], 8
mov dword [esp + 0x14], 1
cmp dword [esp + 0x40], 0
jne 0x1009b7c3
push str.simple
push 0x100af5a4
call sym.SQLite.Interop.dll_sqlite3_mprintf
add esp, 8
test eax, eax
jne 0x1009b79d
mov eax, 7
jmp 0x1009b7b7
push eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x48]
push ecx
push str.simple
call fcn.100567d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1009b1b5
mov edi, dword [esp + 0x50]
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x60]
push eax
mov eax, edi
call fcn.100290c0
mov esi, eax
add esp, 8
cmp esi, 1
mov dword [esp + 0x10], esi
jne 0x1009b7f9
push edi
push str.error_parsing_prefix_parameter:__s
call sym.SQLite.Interop.dll_sqlite3_mprintf
mov ecx, dword [ebp + 0x20]
add esp, 8
mov dword [ecx], eax
test esi, esi
jne 0x1009b1b5
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
lea esi, [edi + edi*2]
add esi, esi
add esi, esi
add esi, esi
mov dword [esp + 0x48], esi
add eax, 0x38
lea esi, [esi + eax*4]
add esi, eax
add esi, dword [esp + 0x68]
add esi, dword [esp + 0x20]
add esi, dword [esp + 0x4c]
call sym.SQLite.Interop.dll_sqlite3_initialize
test eax, eax
je 0x1009b840
mov dword [esp + 0x18], 0
jmp 0x1009b1ad
push esi
call fcn.10025930
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x18], ebx
je 0x1009b1ad
push esi
push 0
push ebx
call fcn.10003bb0
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 0xc]
mov dword [ebx + 0x18], eax
lea eax, [ebx + 0x118]
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x104], 0
mov dword [ebx + 0x1c], eax
mov ecx, dword [esp + 0x4c]
mov dword [ebx + 0x24], ecx
mov ecx, dword [esp + 0x6c]
add esp, 0xc
xor esi, esi
test ecx, ecx
mov dword [ebx + 0x100], 0x100000
je 0x1009b8a9
cmp dword [esp + 0x6c], esi
jne 0x1009b8a9
lea edx, [esi + 1]
jmp 0x1009b8ab
xor edx, edx
mov byte [ebx + 0xe6], dl
mov dl, byte [esp + 0x58]
mov byte [ebx + 0xe5], cl
mov byte [ebx + 0xe4], cl
mov ecx, dword [esp + 0x30]
mov byte [ebx + 0xe7], dl
mov edx, dword [esp + 0x38]
mov dword [ebx + 0x28], ecx
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0x2c], edx
mov edx, dword [esp + 0x48]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x54]
push edx
push ecx
push eax
mov dword [ebx + 0x30], 0xff
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [ebx + 0xfc], eax
call fcn.10008750
add esp, 0xc
cmp edi, esi
mov dword [ebx + 0xf8], edi
jle 0x1009b935
xor ecx, ecx
mov edx, dword [ebx + 0xfc]
lea eax, [ecx + edx + 4]
add ecx, 0x18
sub edi, 1
mov byte [eax], 1
mov byte [eax + 1], 1
mov dword [eax + 8], esi
mov dword [eax + 4], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
jne 0x1009b910
mov eax, dword [ebx + 0xfc]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
lea esi, [ecx + eax]
mov eax, dword [ebp + 0x18]
mov dword [ebx + 0x20], esi
add esi, edi
mov dword [ebx + 0x14], esi
mov ecx, dword [eax + 8]
push edx
push ecx
push esi
call fcn.10008750
add esi, dword [esp + 0x74]
mov edx, dword [ebp + 0x18]
mov dword [ebx + 0x10], esi
mov ebx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
add esp, 0xc
push ebx
push eax
push esi
call fcn.10008750
add esi, ebx
add esp, 0xc
xor ebx, ebx
test edi, edi
jle 0x1009b9df
jmp 0x1009b990
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4]
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x24], 0
call fcn.100183b0
mov edi, dword [esp + 0x24]
add esp, 4
push edi
push eax
push esi
call fcn.10008750
add esp, 0xc
push esi
mov byte [edi + esi], 0
call fcn.10011150
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov dword [ecx + ebx*4], esi
add ebx, 1
add esp, 4
cmp ebx, dword [esp + 0x14]
lea esi, [edi + esi + 1]
jl 0x1009b990
xor ebx, ebx
cmp dword [esp + 0x14], ebx
jle 0x1009ba93
jmp 0x1009b9f0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x1c]
mov eax, dword [eax + ebx*4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009ba00
sub eax, edx
xor edi, edi
cmp dword [esp + 0x28], edi
mov dword [esp + 0x20], eax
jle 0x1009ba86
jmp 0x1009ba20
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x1009ba7d
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009ba30
sub eax, edx
cmp dword [esp + 0x20], eax
jne 0x1009ba7d
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1c]
push edx
mov edx, dword [ecx + ebx*4]
push esi
push edx
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
jne 0x1009ba7d
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
push esi
mov byte [ebx + ecx], 1
call sym.SQLite.Interop.dll_sqlite3_free
mov edx, dword [esp + 0x20]
add esp, 4
mov dword [edx + edi*4], 0
add edi, 1
cmp edi, dword [esp + 0x28]
jl 0x1009ba20
add ebx, 1
cmp ebx, dword [esp + 0x14]
jl 0x1009b9f0
mov ebx, dword [ebp + 0x20]
xor esi, esi
cmp dword [esp + 0x28], esi
jle 0x1009bad3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x1009bac2
push eax
push str.no_such_column:__s
call sym.SQLite.Interop.dll_sqlite3_mprintf
add esp, 8
mov dword [ebx], eax
mov ecx, 1
add esi, 1
cmp esi, dword [esp + 0x28]
jl 0x1009baa2
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x1009bb13
mov edi, dword [esp + 0x34]
xor ecx, ecx
cmp dword [esp + 0x24], ecx
sete cl
xor edx, edx
test edi, edi
sete dl
cmp edx, ecx
je 0x1009bb17
test edi, edi
mov eax, str.compress
je 0x1009baf9
mov eax, str.uncompress
push eax
push str.missing__s_parameter_in_fts4_constructor
mov dword [esp + 0x18], 1
call sym.SQLite.Interop.dll_sqlite3_mprintf
add esp, 8
mov dword [ebx], eax
jmp 0x1009bb17
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x28]
call fcn.10036e80
add esp, 4
lea ecx, [esp + 0x10]
push ecx
mov dword [esi + 0xd8], eax
push esi
mov eax, edi
call fcn.10036de0
add esp, 8
cmp dword [esp + 0x10], 0
mov dword [esi + 0xdc], eax
jne 0x1009b1b5
mov edi, dword [ebp + 8]
test edi, edi
je 0x1009bb63
call fcn.10099e30
mov dword [esp + 0x10], eax
cmp dword [esp + 0x60], 0
jne 0x1009bb75
test edi, edi
jne 0x1009bb75
mov byte [esi + 0xe5], 2
lea edx, [esp + 0x10]
push edx
mov ebx, esi
call fcn.10093af0
mov eax, dword [esi + 0xec]
sub eax, 0x23
lea ecx, [esp + 0x14]
add esp, 4
mov dword [esi + 0xe0], eax
push ecx
mov eax, esi
call fcn.1008ad10
add esp, 4
jmp 0x1009b1b5
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1009bbcc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret