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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x9c
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
cmp byte [eax + 0xd7], 2
je 0x1004172c
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x9c], ecx
mov ebx, dword [ecx + 0x2c]
bt ebx, 0xd
jb 0x10041717
mov edi, edx
movzx edx, word [ebp + 0xc]
test dl, 0x20
jne 0x10041717
movzx eax, byte [eax + 0x3c]
lea eax, [eax + eax*8]
mov dword [ebp - 0xa0], eax
lea eax, [edi + eax*8]
add eax, 8
mov dword [ebp - 0x90], eax
mov ecx, dword [esi]
mov eax, ebx
mov byte [ebp - 0x98], 1
and eax, 0x30
mov dword [ebp - 0x94], eax
je 0x100418c0
mov edx, dword [esi + 8]
mov dword [ebp - 0xa8], edx
lea edx, [ebp - 0x74]
lea eax, [ebp - 0x8c]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov ecx, str.SEARCH
mov edx, str.SCAN
cmp byte [ebp - 0x98], 0
cmovne edx, ecx
mov dword [eax + 8], 0x64
mov dword [eax + 0xc], 0x3b9aca00
mov dword [eax + 0x10], 0
mov word [eax + 0x14], 0x100
push dword [ebp - 0x90]
push edx
push str._s__S
push eax
call fcn.1006e360
add esp, 0x10
test ebx, 0x500
je 0x100418e6
bt ebx, 8
jae 0x1004192f
mov eax, ebx
and eax, 0xf
je 0x1004192f
push 0x101cebfd
push str._USING_INTEGER_PRIMARY_KEY___s
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 0xc
mov eax, 0x3d
test bl, 5
je 0x10041a88
push eax
push str._c__
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 0xc
mov eax, dword [ebp - 0xa0]
test byte [edi + eax*8 + 0x2c], 8
je 0x1004185a
push str._LEFT_JOIN
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 8
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x10041886
mov ecx, dword [ebp - 0x7c]
mov byte [eax + ecx], 0
cmp dword [ebp - 0x80], 0
je 0x10041886
test byte [ebp - 0x77], 4
jne 0x10041886
lea ecx, [ebp - 0x8c]
call fcn.10067a00
mov edi, eax
jmp 0x1004188c
mov edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0xa8]
mov ecx, ebx
mov edx, 0xb9
push 0
push dword [esi + 0xe4]
push dword [ebx + 0x6c]
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffffa
push edi
call fcn.1003a120
add esp, 8
jmp 0x10041717
bt ebx, 0xa
jb 0x100418d7
mov eax, dword [ebp - 0x9c]
cmp word [eax + 0x18], 0
jne 0x10041781
test dl, 3
setne byte [ebp - 0x98]
jmp 0x10041781
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [edi + eax*8 + 0x18]
test byte [eax + 0x1c], 0x80
je 0x1004195e
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x38]
and eax, 3
cmp eax, 2
jne 0x1004195e
mov dword [ebp - 0x90], 0x101d0566
cmp byte [ebp - 0x98], 0
je 0x10041839
jmp 0x10041994
bt ebx, 0xa
jae 0x10041839
mov eax, dword [ebp - 0x9c]
push dword [eax + 0x24]
push dword [eax + 0x18]
push str._VIRTUAL_TABLE_INDEX__d:_s
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 0x10
jmp 0x10041839
mov dword [ebp - 0x90], str.AUTOMATIC_PARTIAL_COVERING_INDEX
bt ebx, 0x11
jb 0x10041994
mov dword [ebp - 0x90], str.AUTOMATIC_COVERING_INDEX
bt ebx, 0xe
jb 0x10041994
test bl, 0x40
mov eax, 0x101ca973
mov ecx, str.COVERING_INDEX__s
cmove ecx, eax
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 7]
cmp ecx, dword [ebp - 0x84]
jae 0x100419bc
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov dword [ecx + eax + 3], 0x20474e49
mov dword [ecx + eax], 0x49535520
jmp 0x100419d1
lea ecx, [ebp - 0x8c]
mov edx, str._USING
push 7
call fcn.10067d20
add esp, 4
mov eax, dword [ebp - 0x94]
push dword [eax]
push dword [ebp - 0x90]
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x90], ecx
movzx ecx, word [eax + 0x18]
movzx eax, word [eax + 0x32]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x94], ecx
test ecx, ecx
je 0x10041a77
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 2]
cmp ecx, dword [ebp - 0x84]
jae 0x10041a34
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov word [ecx + eax], 0x2820
jmp 0x10041a49
lea ecx, [ebp - 0x8c]
mov edx, 0x101deee0
push 2
call fcn.10067d20
add esp, 4
cmp dword [ebp - 0x94], 0
je 0x10041bc4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 4]
movzx eax, word [eax]
cmp eax, 0xfffe
je 0x10041ab8
cmp eax, 0xffff
jne 0x10041abf
mov eax, 0x101cebfd
jmp 0x10041ad2
mov eax, dword [ebp - 0x9c]
test byte [eax + 0x2c], 0x30
jne 0x10041a15
jmp 0x10041839
cmp dword [ebp - 0x94], 0x30
jne 0x10041c1b
push 0x101cebfd
push str.___AND__s
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 0xc
mov eax, 0x3c
jmp 0x10041824
mov eax, str._expr_
jmp 0x10041ad2
cwde
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
shl eax, 4
mov eax, dword [ecx + eax]
cmp dword [ebp - 0xa4], 0
mov ecx, str._s_
mov edx, str.ANY__s_
cmove edx, ecx
push eax
push edx
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 0xc
cmp word [ebp - 0x94], 1
je 0x10041bc4
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 4]
movzx eax, word [eax + ebx*2]
cmp eax, 0xfffe
je 0x10041b2f
cmp eax, 0xffff
jne 0x10041b3b
mov dword [ebp - 0x98], 0x101cebfd
jmp 0x10041b54
mov dword [ebp - 0x98], str._expr_
jmp 0x10041b54
cwde
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
shl eax, 4
mov eax, dword [ecx + eax]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 5]
cmp ecx, dword [ebp - 0x84]
jae 0x10041b79
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov byte [ecx + eax + 4], 0x20
mov dword [ecx + eax], 0x444e4120
jmp 0x10041b8e
lea ecx, [ebp - 0x8c]
mov edx, str._AND
push 5
call fcn.10067d20
add esp, 4
cmp ebx, dword [ebp - 0xa4]
mov eax, str._s_
mov ecx, str.ANY__s_
cmovb eax, ecx
push dword [ebp - 0x98]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.1006e360
add esp, 0xc
inc ebx
cmp dword [ebp - 0x94], ebx
jne 0x10041b08
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x94]
test cl, 0x20
jne 0x10041c2b
test cl, 0x10
jne 0x10041c6d
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0x84]
jae 0x10041c01
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov byte [ecx + eax], 0x29
jmp 0x10041839
lea ecx, [ebp - 0x8c]
mov edx, 0x101deecc
push 1
call fcn.10067d20
add esp, 4
jmp 0x10041839
and ebx, 0x20
shr ebx, 4
or ebx, 0x3c
mov eax, ebx
jmp 0x10041824
mov ebx, dword [ebp - 0x9c]
movzx eax, word [ebx + 0x1a]
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x8c]
mov edx, dword [ebp - 0x90]
push 0x101d748e
mov eax, dword [ebp - 0x94]
push eax
push eax
push dword [ebp - 0x98]
call fcn.10176540
add esp, 0x10
mov ecx, dword [ebx + 0x2c]
xor eax, eax
inc eax
jmp 0x10041bd8
mov ecx, dword [ebp - 0x9c]
movzx ebx, word [ecx + 0x1c]
lea ecx, [ebp - 0x8c]
mov edx, dword [ebp - 0x90]
push 0x101d760d
push eax
push dword [ebp - 0x94]
push ebx
call fcn.10176540
add esp, 0x10
jmp 0x10041be1