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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov edi, eax
sub esp, 0xbc
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x9c], eax
mov eax, dword [edi + 0x78]
test eax, eax
cmove eax, edi
cmp byte [eax + 0xd7], 2
je 0x423037
mov ebx, dword [edi]
xor eax, eax
test byte [ebx + 0x21], 4
je 0x423424
mov ebx, dword [ecx + 0x50]
mov esi, dword [ebx + 0x28]
test esi, 0x2000
jne 0x42304e
test byte [ebp - 0x9c], 0x20
je 0x423055
xor eax, eax
jmp 0x423424
mov edx, esi
mov eax, 1
and edx, 0x30
mov dword [ebp - 0xb0], edx
jne 0x423082
test esi, 0x400
jne 0x423076
cmp word [ebx + 0x18], 0
jne 0x423082
xor eax, eax
test byte [ebp - 0x9c], 3
setne al
mov dl, byte [ecx + 0x3c]
mov ecx, dword [edi + 8]
test eax, eax
mov dword [ebp - 0xa0], edi
mov edi, dword [edi]
mov dword [ebp - 0xb4], eax
mov dword [esp + 4], str._s__S
mov dword [ebp - 0xa8], ecx
lea ecx, [ebp - 0x7c]
movzx eax, dl
mov dword [ebp - 0x94], edi
mov edi, str.SEARCH
mov dword [ebp - 0x8c], 0x64
mov dword [ebp - 0x90], ecx
mov ecx, str.SCAN
mov dword [ebp - 0x88], 0x3b9aca00
cmovne ecx, edi
mov dword [ebp - 0x84], 0
mov byte [ebp - 0x80], 0
imul edi, eax, 0x48
add edi, dword [ebp - 0xac]
mov dword [esp + 8], ecx
mov byte [ebp - 0x7f], 1
mov dword [ebp - 0xa4], eax
lea edx, [edi + 8]
mov dword [ebp - 0x9c], edi
lea edi, [ebp - 0x94]
mov dword [esp + 0xc], edx
mov dword [esp], edi
call fcn.0041ad88
test esi, 0x500
jne 0x423188
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebx + 0x20]
mov ecx, dword [eax + 0x18]
test byte [ecx + 0x1c], 0x80
je 0x423151
mov cl, byte [edx + 0x38]
mov eax, dword [ebp - 0xb4]
and ecx, 3
cmp cl, 2
jne 0x423151
test eax, eax
jne 0x4232a6
jmp 0x423238
test esi, 0x20000
mov edi, str.AUTOMATIC_PARTIAL_COVERING_INDEX
jne 0x4232ab
test esi, 0x4000
mov edi, str.AUTOMATIC_COVERING_INDEX
jne 0x4232ab
and esi, 0x40
mov eax, str.INDEX__s
mov edi, str.COVERING_INDEX__s
cmove edi, eax
jmp 0x4232ab
test esi, 0x100
je 0x42320c
test esi, 0xf
je 0x42320c
mov dword [esp + 8], 0x4f20da
mov dword [esp + 4], 0x4f2888
mov dword [esp], edi
call fcn.0041ad88
test esi, 5
mov al, 0x3d
jne 0x4231ed
cmp dword [ebp - 0xb0], 0x30
jne 0x4231df
mov dword [esp + 8], 0x4f20da
mov dword [esp + 4], str.___AND__s
mov dword [esp], edi
call fcn.0041ad88
mov al, 0x3c
jmp 0x4231ed
and esi, 0x20
cmp esi, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x3e
movsx eax, al
mov dword [esp + 4], str._c__
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.0041ad88
jmp 0x423238
and esi, 0x400
je 0x423238
mov eax, dword [ebx + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 4], str._VIRTUAL_TABLE_INDEX__d:_s
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.0041ad88
imul edx, dword [ebp - 0xa4], 0x48
mov eax, dword [ebp - 0xac]
lea ebx, [ebp - 0x94]
test byte [eax + edx + 0x2c], 8
je 0x423262
mov dword [esp + 4], str._LEFT_JOIN
mov dword [esp], ebx
call fcn.0041ad88
mov eax, ebx
call fcn.0041b03f
mov ebx, dword [ebp - 0xa8]
mov edx, 0xb9
mov ecx, dword [ebx + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp + 0xc], 0xfffffffa
mov dword [esp + 4], 0
mov eax, dword [eax + 0xe4]
mov dword [esp], eax
mov eax, ebx
call fcn.00422c58
jmp 0x423424
mov edi, str.PRIMARY_KEY
lea esi, [ebp - 0x94]
mov dword [esp + 8], 7
mov dword [esp + 4], str._USING
mov dword [ebp - 0x9c], edx
mov dword [esp], esi
call fcn.0041d93e
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx]
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.0041ad88
movzx edi, word [ebx + 0x18]
test di, di
jne 0x4232fa
test byte [ebx + 0x28], 0x30
je 0x423238
mov eax, dword [ebx + 0x20]
lea edx, [ebp - 0x94]
xor esi, esi
mov dword [ebp - 0x9c], eax
mov ax, word [ebx + 0x2e]
mov dword [esp + 8], 2
mov dword [esp + 4], 0x4f2881
mov dword [esp], edx
mov word [ebp - 0xb0], ax
call fcn.0041d93e
movzx eax, word [ebp - 0xb0]
mov dword [ebp - 0xb0], eax
cmp esi, edi
jge 0x4233a6
mov eax, dword [ebp - 0x9c]
mov edx, esi
call fcn.00404ebf
test esi, esi
je 0x42337a
lea edx, [ebp - 0x94]
mov dword [esp + 8], 5
mov dword [esp + 4], 0x4f2636
mov dword [ebp - 0xb4], eax
mov dword [esp], edx
call fcn.0041d93e
mov eax, dword [ebp - 0xb4]
cmp esi, dword [ebp - 0xb0]
mov ecx, str.ANY__s_
mov dword [esp + 8], eax
mov edx, str._s_
lea eax, [ebp - 0x94]
mov dword [esp], eax
cmovl edx, ecx
inc esi
mov dword [esp + 4], edx
call fcn.0041ad88
jmp 0x42333b
test byte [ebx + 0x28], 0x20
mov eax, edi
je 0x4233d7
movzx ecx, word [ebx + 0x1a]
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x94]
mov dword [esp + 8], 0x4f2884
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0041d998
mov eax, 1
test byte [ebx + 0x28], 0x10
je 0x423401
movzx ecx, word [ebx + 0x1c]
mov edx, dword [ebp - 0x9c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x94]
mov dword [esp + 8], 0x4f2886
mov dword [esp], edi
call fcn.0041d998
lea eax, [ebp - 0x94]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x4f2640
mov dword [esp], eax
call fcn.0041d93e
jmp 0x423238
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret