Function at 0x10106a85
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x254
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x260]
push ebx
mov ebx, dword [esp + 0x26c]
push ebp
push esi
push edi
mov dword [esp + 0x30], eax
xor edi, edi
mov eax, dword [esp + 0x274]
push 0x34
mov dword [esp + 0x28], eax
lea eax, [esp + 0xec]
push edi
push eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0xf0], edi
call fcn.10117460
xor eax, eax
mov dword [esp + 0x38], edi
inc eax
mov dword [esp + 0x2c], edi
add esp, 0xc
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 0x4000
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1010704b
mov ebp, dword [esp + 0x268]
mov esi, eax
test esi, esi
js 0x10106ebc
or dword [ebx], 0xffffffff
lea eax, [esp + 0x9c]
or dword [esp + 0xe8], 0xffffffff
push 0x48
push edi
push eax
mov dword [esp + 0x150], 0x10
call fcn.10117460
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0xa8]
add esp, 0xc
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0xa4], fcn.10055b80
lea edi, [esp + 0x54]
mov dword [esp + 0xac], 0x100526b0
mov dword [esp + 0x48], 0xff
push 9
pop ecx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x26c]
lea eax, [esp + 0x40]
push 0x10011dc8
push dword [esp + 0x18]
mov dword [esp + 0x5c], 0x10011e78
push ebx
mov dword [esp + 0x68], 0x816
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], edi
call fcn.10062b10
push 0x5b
pop eax
push 1
push 0x82
mov word [esp + 0x15c], ax
lea eax, [esp + 0x1e4]
push eax
push edi
push ebp
mov dword [esp + 0x28], 0x32
call sym.msjet40.dll_Ordinal_148
mov esi, eax
test esi, esi
js 0x10106ec0
push 2
push 0x28
lea eax, [esp + 0x124]
push eax
push edi
push ebp
call sym.msjet40.dll_Ordinal_148
mov esi, eax
test esi, esi
js 0x10106ec0
push 0x12
push 4
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x128]
push ebp
call fcn.1003b6e0
mov esi, eax
test esi, esi
js 0x10106ec0
push 1
push 0x38
lea eax, [esp + 0xec]
push eax
xor eax, eax
push eax
push edi
push ebp
call sym.msjet40.dll_Ordinal_146
mov esi, eax
test esi, esi
js 0x10106ec0
cmp dword [esp + 0xec], 0
je 0x10106ec0
xor edi, edi
push edi
push Ordinal_2
push dword [esp + 0xf0]
push ebp
call sym.msjet40.dll_Ordinal_156
mov esi, eax
test esi, esi
js 0x10106ec0
lea eax, [esp + 0x144]
push eax
push 1
lea eax, [esp + 0x20]
push eax
push 0x84
lea eax, [esp + 0x166]
push eax
push dword [esp + 0x108]
push dword [esp + 0x100]
push ebp
call sym.msjet40.dll_Ordinal_167
mov esi, eax
test esi, esi
js 0x10106ebc
mov eax, dword [esp + 0x18]
shr eax, 1
mov dword [esp + 0x18], eax
lea ebx, [eax + eax]
lea ecx, [ebx + 2]
cmp ecx, 0x86
jae 0x10107045
xor edx, edx
mov word [esp + ecx + 0x154], dx
mov edx, dword [esp + 0x30]
test edx, edx
je 0x10106d33
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x34]
jne 0x10106ce9
sub ecx, esi
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x48]
sar ecx, 1
lea eax, [ecx + ecx]
push eax
push edx
push ebx
lea eax, [esp + 0x16a]
push eax
call sym.msjet40.dll_Ordinal_177
mov esi, eax
test esi, esi
js 0x10106ebc
cmp dword [esp + 0x38], 0
mov edx, dword [esp + 0x30]
push 1
pop eax
cmove edi, eax
mov eax, dword [esp + 0x18]
test edi, edi
jne 0x10106d3f
test edx, edx
jne 0x10106e65
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x10106d6a
push dword [0x10135544]
push 0x10002a40
push ebx
call fcn.10091f7d
test eax, eax
je 0x10106db3
test byte [esp + 0x27c], 1
jne 0x10106db3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x54]
push ecx
push dword [esp + 0x30]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x38]
lea ecx, [esp + 0x1f8]
push ecx
push eax
lea eax, [esp + 0x178]
push eax
push dword [esp + 0x144]
push ebp
call fcn.10106835
mov esi, eax
test esi, esi
js 0x10106ebc
test ebx, ebx
je 0x10106dcc
push dword [0x10135544]
push 0x10002a80
push ebx
call fcn.10091f7d
test eax, eax
je 0x10106e0b
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x1f4]
push eax
push dword [esp + 0x138]
push ebp
call fcn.101065f5
mov esi, eax
test esi, esi
js 0x10106ebc
test ebx, ebx
je 0x10106e24
push dword [0x10135544]
push 0x10002a94
push ebx
call fcn.10091f7d
test eax, eax
je 0x10106e5f
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x1f4]
push eax
push dword [esp + 0x138]
push ebp
call fcn.10106482
mov esi, eax
test esi, esi
js 0x10106ebc
test edi, edi
jne 0x10106e85
jmp 0x10106e69
mov ebx, dword [esp + 0x24]
xor eax, eax
push eax
inc eax
push eax
push dword [esp + 0xf0]
push ebp
call sym.msjet40.dll_Ordinal_156
mov esi, eax
test esi, esi
je 0x10106c7c
xor eax, eax
cmp esi, 0xfffff9bd
cmove esi, eax
test esi, esi
js 0x10106ebc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10106f20
test edi, edi
jne 0x10106f20
xor ecx, ecx
mov esi, 0xfffffa1d
push ecx
push ecx
push ecx
push 0xffffdf8e
push ecx
push ecx
push eax
push ebp
call fcn.100377a0
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0xe8], 0xffffffff
je 0x10106ed7
push dword [esp + 0xe8]
push ebp
call sym.msjet40.dll_Ordinal_108
cmp dword [esp + 0x20], 0
je 0x10106ee8
push dword [esp + 0x20]
call fcn.1011741a
pop ecx
test ebx, ebx
je 0x10106ef3
push ebx
call fcn.1011741a
pop ecx
cmp dword [esp + 0x2c], 0
je 0x10106f03
push dword [esp + 0x2c]
call fcn.100ca159
mov ecx, dword [esp + 0x260]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011720d
add esp, 0x254
ret 0x18
test byte [esp + 0x27c], 1
jne 0x10106f32
test eax, eax
jne 0x10106f69
test ebx, ebx
jne 0x10106f69
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0x1f0]
push eax
push dword [esp + 0x134]
push ebp
call fcn.10106725
mov esi, eax
test esi, esi
js 0x10106ebc
cmp dword [esp + 0x28], 0
jne 0x10106ebc
mov esi, 0x10011ec0
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x78]
push 5
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x10011ed0
lea edi, [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov dword [esp + 0x24], eax
lea edi, [ecx + ecx]
cmp dword [esp + 0x1c], edi
jae 0x10106fcd
shl eax, 2
push eax
push ebx
call fcn.10118344
pop ecx
pop ecx
test eax, eax
jne 0x10106fc3
mov esi, 0xfffffc0d
jmp 0x10106ec0
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov eax, dword [esp + 0x24]
add edi, ebx
lea esi, [esp + 0x78]
lea eax, [eax*2 - 0x64]
add ecx, 7
push eax
lea eax, [ebx + 0x64]
mov dword [esp + 0x38], ecx
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebx + ecx*2]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.101175c0
mov eax, dword [esp + 0x40]
lea esi, [esp + 0x94]
mov ecx, dword [esp + 0x30]
add eax, 0xffffffce
add ecx, eax
add esp, 0xc
push dword [esp + 0x3c]
lea edi, [ebx + ecx*2]
movsd dword es:[edi], dword [esi]
push 0x70
push 8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x10011e3c]
mov dword [ebx + ecx*2 + 0x12], eax
mov ax, word [0x10011e40]
mov word [ebx + ecx*2 + 0x16], ax
lea eax, [esp + 0x54]
push eax
push ebx
push 0xffffffffffffffff
push ebp
call sym.msjet40.dll_Ordinal_158
mov esi, eax
jmp 0x10106ec0
call fcn.10116ea2
int3