Function at 0x100a0570
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 + 0x64], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x34], ebx
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100a05d5
sub eax, ecx
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a05f0
mov edi, dword [ebp + 0x14]
sub eax, edx
inc eax
mov dword [esp + 0x68], eax
lea edi, [edi*4 - 8]
call sym.SQLite.Interop.dll_sqlite3_initialize
test eax, eax
je 0x100a0617
mov dword [esp + 0x44], ebx
jmp 0x100a0632
test edi, edi
jg 0x100a0621
mov dword [esp + 0x44], ebx
jmp 0x100a0632
mov eax, edi
cdq
push edx
push eax
call fcn.10026040
add esp, 8
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
test eax, eax
je 0x100a0fa1
push edi
mov edx, eax
push 0
push edx
call fcn.10004b00
add esp, 0xc
call sym.SQLite.Interop.dll_sqlite3_initialize
test eax, eax
jne 0x100a0f9d
test edi, edi
jle 0x100a0f9d
mov eax, edi
cdq
push edx
push eax
call fcn.10026040
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100a0fa1
push edi
push 0
push eax
call fcn.10004b00
mov eax, 3
add esp, 0xc
mov dword [esp + 0x5c], eax
jmp 0x100a06a0
mov ebx, dword [esp + 0x14]
mov esi, dword [ebp + 0x18]
mov eax, dword [esp + 0x5c]
cmp eax, dword [ebp + 0x14]
mov edi, 0xa
jge 0x100a0a85
cmp dword [esp + 0x40], 0
mov esi, dword [esi + eax*4]
mov dword [esp + 0x48], esi
jne 0x100a0738
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a06c1
sub eax, edx
cmp eax, 8
jbe 0x100a0738
push 8
push str.tokenize
push esi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
jne 0x100a0738
mov al, byte [esi + 8]
test al, al
js 0x100a0738
movsx eax, al
cmp byte [eax + 0x100b3e30], 0
jne 0x100a0738
add esi, 9
push esi
push 0x100b5014
call sym.SQLite.Interop.dll_sqlite3_mprintf
add esp, 8
test eax, eax
jne 0x100a0719
mov eax, 7
mov dword [esp + 0x10], eax
jmp 0x100a0a71
mov ecx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push ecx
lea edx, [esp + 0x48]
push edx
push esi
call fcn.1005acf0
add esp, 0x10
mov dword [esp + 0x10], eax
jmp 0x100a0a71
cmp dword [esp + 0x64], 0
je 0x100a0a47
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x64]
push ecx
mov edx, esi
call fcn.10033020
add esp, 8
test eax, eax
je 0x100a0a47
mov dword [esp + 0x8c], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x28]
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 + 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 + 0xa8], str.notindexed
test edi, edi
jne 0x100a0809
mov dword [esp + 0x10], eax
jmp 0x100a0a71
xor ebx, ebx
lea esi, [esp + 0x74]
nop
mov eax, dword [esi]
cmp dword [esp + 0x60], eax
jne 0x100a082e
mov edx, dword [esi - 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 0x100a0837
inc ebx
add esi, 8
cmp ebx, 8
jl 0x100a0810
cmp ebx, 8
jne 0x100a0869
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 edi
mov dword [edx], eax
mov dword [esp + 0x14], 1
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
cmp ebx, 7
ja case.default.0x100a0872
jmp dword [ebx*4 + 0x100a107c]
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a0880
sub eax, edx
cmp eax, 4
jne 0x100a08a1
push eax
push str.fts3
push edi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x100a08bc
push edi
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 edi
mov dword [esp + 0x70], 1
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov edx, dword [esp + 0x50]
push edx
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x54], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x2c], edi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov eax, dword [esp + 0x3c]
push eax
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x40], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x2c], edi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov ecx, dword [esp + 0x30]
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x34], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x2c], edi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a0946
sub eax, edx
cmp eax, 3
jne 0x100a0967
push eax
push 0x100b8f38
push edi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x100a09ac
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a0970
sub eax, edx
cmp eax, 4
jne 0x100a0991
push eax
push str.desc
push edi
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x100a09ac
push edi
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 [edi]
cmp al, 0x64
je 0x100a09cc
cmp al, 0x44
je 0x100a09cc
push edi
mov dword [esp + 0x5c], 0
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
push edi
mov dword [esp + 0x5c], 1
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov eax, dword [esp + 0x38]
push eax
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x3c], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x2c], edi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov ecx, dword [esp + 0x2c]
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov dword [esp + 0x30], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x2c], edi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov dword [edx + eax*4], edi
inc eax
xor edi, edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edi
push edi
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp 0x100a0a71
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a0a50
mov ecx, dword [esp + 0x4c]
sub eax, edx
lea edx, [ecx + eax + 1]
mov eax, dword [esp + 0x44]
mov dword [eax + ebx*4], esi
inc ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x14], ebx
inc dword [esp + 0x5c]
cmp dword [esp + 0x10], 0
je 0x100a0695
jmp 0x100a0fa9
cmp dword [esp + 0x10], 0
jne 0x100a0fa9
cmp dword [esp + 0x38], 0
je 0x100a0b55
mov ecx, dword [esp + 0x3c]
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov edx, dword [esp + 0x34]
add esp, 4
push edx
call sym.SQLite.Interop.dll_sqlite3_free
xor edi, edi
add esp, 4
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edi
cmp ebx, edi
jne 0x100a0b74
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 + 0x28]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x30], edi
call fcn.100924a0
add esp, 0x10
mov dword [esp + 0x10], eax
cmp eax, edi
jne 0x100a0fa9
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x2c], edi
je 0x100a0b55
xor esi, esi
cmp ebx, edi
mov edi, dword [esp + 0x20]
jle 0x100a0b59
lea ebx, [ebx]
mov edx, dword [edi + esi*4]
mov eax, dword [esp + 0x2c]
push edx
push eax
call sym.SQLite.Interop.dll_sqlite3_stricmp
add esp, 8
test eax, eax
je 0x100a0b3c
inc esi
cmp esi, ebx
jl 0x100a0b20
jmp 0x100a0b59
cmp esi, ebx
mov eax, esi
jge 0x100a0b4e
mov ecx, dword [edi + eax*4 + 4]
mov dword [edi + eax*4], ecx
inc eax
cmp eax, ebx
jl 0x100a0b42
dec ebx
mov dword [esp + 0x14], ebx
jmp 0x100a0b59
mov edi, dword [esp + 0x20]
test ebx, ebx
jne 0x100a0b74
mov ebx, 1
mov dword [edi], str.content
mov dword [esp + 0x4c], 8
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x40], 0
jne 0x100a0bbe
push str.simple
push 0x100b5014
call sym.SQLite.Interop.dll_sqlite3_mprintf
add esp, 8
test eax, eax
jne 0x100a0b98
mov eax, 7
jmp 0x100a0bb2
mov edx, dword [ebp + 0x20]
push eax
push edx
lea eax, [esp + 0x48]
push eax
mov eax, dword [ebp + 0x10]
push str.simple
call fcn.1005acf0
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100a0fa9
mov edi, dword [esp + 0x50]
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x64]
push edx
mov eax, edi
call fcn.1002a640
mov esi, eax
add esp, 8
mov dword [esp + 0x10], esi
cmp esi, 1
jne 0x100a0bf4
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 0x100a0fa9
mov edi, dword [esp + 0x60]
lea esi, [edi + edi*2]
add esi, esi
add esi, esi
add esi, esi
mov dword [esp + 0x48], esi
lea eax, [ebx + 0x38]
lea esi, [esi + eax*4]
add esi, eax
add esi, dword [esp + 0x68]
add esi, dword [esp + 0x24]
add esi, dword [esp + 0x4c]
call sym.SQLite.Interop.dll_sqlite3_initialize
test eax, eax
je 0x100a0c37
mov dword [esp + 0x18], 0
jmp 0x100a0fa1
test esi, esi
jg 0x100a0c48
mov dword [esp + 0x18], 0
jmp 0x100a0fa1
mov eax, esi
cdq
push edx
push eax
call fcn.10026040
mov ebx, eax
add esp, 8
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x100a0fa1
push esi
xor esi, esi
push esi
push ebx
call fcn.10004b00
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], esi
mov dword [ebx + 0x1c], eax
mov ecx, dword [esp + 0x4c]
mov dword [ebx + 0x24], ecx
mov ecx, dword [esp + 0x70]
add esp, 0xc
mov dword [ebx + 0x100], 0x100000
cmp ecx, esi
je 0x100a0cb0
cmp dword [esp + 0x6c], esi
jne 0x100a0cb0
lea edx, [esi + 1]
jmp 0x100a0cb2
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 + 0x38]
mov byte [ebx + 0xe7], dl
mov edx, dword [esp + 0x2c]
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 + 0x44], esi
mov dword [esp + 0x38], esi
mov dword [ebx + 0xfc], eax
call fcn.100091c0
add esp, 0xc
cmp edi, esi
mov dword [ebx + 0xf8], edi
jle 0x100a0d45
xor ecx, ecx
jmp 0x100a0d20
mov edx, dword [ebx + 0xfc]
lea eax, [edx + ecx + 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 0x100a0d20
mov eax, dword [ebx + 0xfc]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x68]
lea edi, [ecx + eax]
mov eax, dword [ebp + 0x18]
mov dword [ebx + 0x20], edi
add edi, edx
mov dword [ebx + 0x14], edi
mov ecx, dword [eax + 8]
push esi
push ecx
push edi
call fcn.100091c0
mov edx, dword [ebp + 0x18]
add edi, esi
mov esi, dword [esp + 0x30]
add esp, 0xc
mov dword [ebx + 0x10], edi
mov eax, dword [edx + 4]
push esi
push eax
push edi
call fcn.100091c0
add edi, esi
xor esi, esi
add esp, 0xc
cmp dword [esp + 0x14], esi
jle 0x100a0ded
jmp 0x100a0da0
mov edx, dword [esp + 0x20]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x28], 0
call fcn.10019360
mov ebx, dword [esp + 0x28]
add esp, 4
push ebx
push eax
push edi
call fcn.100091c0
add esp, 0xc
push edi
mov byte [ebx + edi], 0
call fcn.10011be0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov dword [ecx + esi*4], edi
inc esi
add esp, 4
cmp esi, dword [esp + 0x14]
lea edi, [ebx + edi + 1]
jl 0x100a0da0
xor ebx, ebx
cmp dword [esp + 0x14], ebx
jle 0x100a0e92
lea esp, [esp]
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]
inc eax
test cl, cl
jne 0x100a0e10
sub eax, edx
xor edi, edi
cmp dword [esp + 0x34], edi
mov dword [esp + 0x24], eax
jle 0x100a0e87
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x100a0e80
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a0e35
sub eax, edx
cmp dword [esp + 0x24], eax
jne 0x100a0e80
mov edx, dword [esp + 0x24]
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 0x100a0e80
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
inc edi
cmp edi, dword [esp + 0x34]
jl 0x100a0e25
inc ebx
cmp ebx, dword [esp + 0x14]
jl 0x100a0e00
mov ebx, dword [ebp + 0x20]
xor esi, esi
cmp dword [esp + 0x34], esi
jle 0x100a0ed0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x100a0ec1
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
inc esi
cmp esi, dword [esp + 0x34]
jl 0x100a0ea1
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x100a0f10
mov edi, dword [esp + 0x3c]
xor ecx, ecx
cmp dword [esp + 0x30], ecx
sete cl
xor edx, edx
test edi, edi
sete dl
cmp edx, ecx
je 0x100a0f14
mov eax, str.compress
test edi, edi
je 0x100a0ef6
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 0x100a0f14
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x34]
call fcn.10037910
add esp, 4
lea ecx, [esp + 0x10]
push ecx
mov dword [esi + 0xd8], eax
push esi
mov eax, edi
call fcn.10037870
add esp, 8
cmp dword [esp + 0x10], 0
mov dword [esi + 0xdc], eax
jne 0x100a0fa9
mov edi, dword [ebp + 8]
test edi, edi
je 0x100a0f5c
call fcn.1009f310
mov dword [esp + 0x10], eax
cmp dword [esp + 0x64], 0
jne 0x100a0f6e
test edi, edi
jne 0x100a0f6e
mov byte [esi + 0xe5], 2
lea edx, [esp + 0x10]
push edx
mov edi, esi
call fcn.10099750
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.10091690
add esp, 4
jmp 0x100a0fa9
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 + 0x40]
add esp, 4
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov edx, dword [esp + 0x34]
add esp, 4
push edx
call sym.SQLite.Interop.dll_sqlite3_free
mov eax, dword [esp + 0x3c]
add esp, 4
push eax
call sym.SQLite.Interop.dll_sqlite3_free
mov ecx, dword [esp + 0x30]
add esp, 4
push ecx
call sym.SQLite.Interop.dll_sqlite3_free
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
add esp, 4
xor esi, esi
test ebx, ebx
jle 0x100a1016
mov edx, dword [edi + esi*4]
push edx
call sym.SQLite.Interop.dll_sqlite3_free
inc esi
add esp, 4
cmp esi, ebx
jl 0x100a1005
mov eax, dword [esp + 0x20]
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 0x100a106a
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100a104e
push eax
call fcn.1008a9a0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100a1073
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