Function at 0x10106882
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.101172b0
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.10106e48
mov ebp, dword [esp + 0x268]
mov esi, eax
test esi, esi
js 0x10106cb9
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.101172b0
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.10055ab0
lea edi, [esp + 0x54]
mov dword [esp + 0xac], 0x10052600
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 0x10011d98
push dword [esp + 0x18]
mov dword [esp + 0x5c], 0x10011e48
push ebx
mov dword [esp + 0x68], 0x816
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], edi
call fcn.10062a00
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 0x10106cbd
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 0x10106cbd
push 0x12
push 4
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x128]
push ebp
call fcn.1003b620
mov esi, eax
test esi, esi
js 0x10106cbd
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 0x10106cbd
cmp dword [esp + 0xec], 0
je 0x10106cbd
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 0x10106cbd
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 0x10106cb9
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 0x10106e42
xor edx, edx
mov word [esp + ecx + 0x154], dx
mov edx, dword [esp + 0x30]
test edx, edx
je 0x10106b30
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x34]
jne 0x10106ae6
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 0x10106cb9
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 0x10106b3c
test edx, edx
jne 0x10106c62
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x10106b67
push dword [0x10135544]
push 0x10002a40
push ebx
call fcn.10091d7d
test eax, eax
je 0x10106bb0
test byte [esp + 0x27c], 1
jne 0x10106bb0
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.10106632
mov esi, eax
test esi, esi
js 0x10106cb9
test ebx, ebx
je 0x10106bc9
push dword [0x10135544]
push 0x10002a80
push ebx
call fcn.10091d7d
test eax, eax
je 0x10106c08
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.101063f2
mov esi, eax
test esi, esi
js 0x10106cb9
test ebx, ebx
je 0x10106c21
push dword [0x10135544]
push 0x10002a94
push ebx
call fcn.10091d7d
test eax, eax
je 0x10106c5c
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.1010627f
mov esi, eax
test esi, esi
js 0x10106cb9
test edi, edi
jne 0x10106c82
jmp 0x10106c66
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 0x10106a79
xor eax, eax
cmp esi, 0xfffff9bd
cmove esi, eax
test esi, esi
js 0x10106cb9
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10106d1d
test edi, edi
jne 0x10106d1d
xor ecx, ecx
mov esi, 0xfffffa1d
push ecx
push ecx
push ecx
push 0xffffdf8e
push ecx
push ecx
push eax
push ebp
call fcn.10037730
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0xe8], 0xffffffff
je 0x10106cd4
push dword [esp + 0xe8]
push ebp
call sym.msjet40.dll_Ordinal_108
cmp dword [esp + 0x20], 0
je 0x10106ce5
push dword [esp + 0x20]
call fcn.1011726a
pop ecx
test ebx, ebx
je 0x10106cf0
push ebx
call fcn.1011726a
pop ecx
cmp dword [esp + 0x2c], 0
je 0x10106d00
push dword [esp + 0x2c]
call fcn.100c9f59
mov ecx, dword [esp + 0x260]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011705d
add esp, 0x254
ret 0x18
test byte [esp + 0x27c], 1
jne 0x10106d2f
test eax, eax
jne 0x10106d66
test ebx, ebx
jne 0x10106d66
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.10106522
mov esi, eax
test esi, esi
js 0x10106cb9
cmp dword [esp + 0x28], 0
jne 0x10106cb9
mov esi, 0x10011e90
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, 0x10011ea0
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 0x10106dca
shl eax, 2
push eax
push ebx
call fcn.10118194
pop ecx
pop ecx
test eax, eax
jne 0x10106dc0
mov esi, 0xfffffc0d
jmp 0x10106cbd
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.10117410
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 [0x10011e0c]
mov dword [ebx + ecx*2 + 0x12], eax
mov ax, word [0x10011e10]
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 0x10106cbd
call fcn.10116cf2
int3