Function at 0x1004db40
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1016a151
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
push ebx
push esi
push edi
mov eax, dword [0x10438fc0]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor edi, edi
push edi
push edi
push edi
lea esi, [esp + 0x20]
mov byte [ebx + 0x28], 1
mov dword [esp + 0x20], edi
call fcn.100163a0
push str.COMMENT
mov dword [esp + 0xec], edi
mov eax, dword [ebx + 0x1c]
mov ecx, dword [0x1044ec44]
push str.ParameterName
push eax
mov eax, dword [0x1044ec38]
push str.Keyword
push eax
push ecx
push str.SELECT__s_FROM__s_WHERE__s___s_AND__s___s
mov edx, esi
call fcn.10016c90
add esp, 0x1c
push edi
mov edi, dword [0x1044ec38]
lea eax, [esp + 0x34]
call fcn.100164f0
lea edx, [esp + 0x24]
push edx
push 0
mov byte [esp + 0xf0], 1
mov ecx, dword [ebx + 0x14]
push eax
call fcn.10032100
mov esi, eax
mov byte [esp + 0xe8], 0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1004dc13
lea ecx, [eax - 0xc]
test ecx, ecx
je 0x1004dc13
add eax, 0xfffffff4
dec dword [eax]
jne 0x1004dc13
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
test esi, esi
jns 0x1004dc51
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1004dc37
lea edx, [eax - 0xc]
test edx, edx
je 0x1004dc37
add eax, 0xfffffff4
dec dword [eax]
jne 0x1004dc37
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [0x1044ec38]
push 0
lea eax, [esp + 0x34]
call fcn.100164f0
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], ecx
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
inc dword [eax - 0xc]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1004dc9a
lea edx, [eax - 0xc]
test edx, edx
je 0x1004dc9a
add eax, 0xfffffff4
dec dword [eax]
jne 0x1004dc9a
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov byte [esp + 0xe8], 3
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x2c]
test ebx, ebx
jne 0x1004dcb3
mov dword [esp + 0x34], ebx
jmp 0x1004dcbf
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push ebx
mov dword [esp + 0x38], ebx
call edx
xor edi, edi
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov eax, dword [ebx]
mov edx, dword [eax + 0xc]
push ecx
push ebx
call edx
mov esi, dword [esp + 0x18]
lea eax, [esi*4]
push eax
call dword [sym.imp.MSVCR100.dll_malloc]
mov dword [esp + 0x20], eax
add esp, 4
xor eax, eax
cmp esi, edi
jle 0x1004dd09
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax*4], eax
mov esi, dword [esp + 0x18]
inc eax
cmp eax, esi
jl 0x1004dcf9
lea esi, [esi + esi*2]
add esi, esi
add esi, esi
add esi, esi
push esi
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
push esi
push edi
push eax
mov dword [esp + 0x2c], eax
call sub.MSVCR100.dll_memset
add esp, 0xc
mov edx, dword [ebp + 8]
mov byte [esp + 0xe8], 4
mov eax, dword [edx + 0x14]
push edi
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x40], eax
call fcn.10012150
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x14]
mov byte [esp + 0xe8], 5
call fcn.1004f070
mov edi, eax
test edi, edi
jns 0x1004de00
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0xec], 4
call fcn.10011f10
lea esi, [esp + 0x18]
call fcn.10034a80
mov byte [esp + 0xe8], 2
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ebx
call ecx
lea edx, [esp + 0x2c]
mov byte [esp + 0xe8], 6
mov eax, dword [esp + 0x28]
push edx
push eax
call fcn.10032460
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1004ddc6
lea ecx, [eax - 0xc]
test ecx, ecx
je 0x1004ddc6
add eax, 0xfffffff4
dec dword [eax]
jne 0x1004ddc6
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1004dde6
lea edx, [eax - 0xc]
test edx, edx
je 0x1004dde6
add eax, 0xfffffff4
dec dword [eax]
jne 0x1004dde6
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [esp + 0x4c], 0
jne 0x1004de0e
mov edi, 0x8000ffff
jmp 0x1004de32
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov eax, dword [edi]
mov eax, dword [eax + 0x94]
push ecx
lea edx, [esp + 0x40]
push edx
mov ecx, edi
call eax
mov dword [esp + 0x24], eax
test eax, eax
jns 0x1004de74
mov edi, eax
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0xec], 4
call fcn.10011f10
lea esi, [esp + 0x18]
call fcn.10034a80
mov byte [esp + 0xe8], 2
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0xec], 0
call fcn.1002ffa0
jmp 0x1004ddc6
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [edi]
mov edx, dword [edx + 0x9c]
push ecx
push eax
mov esi, eax
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call edx
test eax, eax
je 0x1004df0f
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0xec], 4
call fcn.10011f10
lea esi, [esp + 0x18]
call fcn.10034a80
mov byte [esp + 0xe8], 2
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xec], 0
call fcn.1002ffa0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1004def2
lea ecx, [eax - 0xc]
test ecx, ecx
je 0x1004def2
add eax, 0xfffffff4
dec dword [eax]
jne 0x1004def2
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [esi + 0x30], 8
jne 0x1004df24
mov eax, dword [ebp + 8]
mov edi, dword [esi + 0x38]
add eax, 0x24
call fcn.10016670
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0xec], 4
call fcn.10011f10
lea esi, [esp + 0x18]
call fcn.10034a80
mov byte [esp + 0xe8], 2
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ebx
call ecx
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0xec], 0
call fcn.1002ffa0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1004df81
lea ecx, [eax - 0xc]
test ecx, ecx
je 0x1004df81
add eax, 0xfffffff4
dec dword [eax]
jne 0x1004df81
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4