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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
mov esi, edx
mov dword [esp + 8], ecx
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x34]
movdqu xmm0, xmmword [edx]
push edi
mov edi, dword [ecx]
movdqu xmmword [esp + 0x30], xmm0
mov dword [esp + 0x1c], esi
movq xmm0, qword [edx + 0x10]
movq qword [esp + 0x40], xmm0
mov edx, dword [eax + 0x30]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
test edx, edx
jne 0x1007aa99
cmp dword [eax + 0x3c], edx
jne 0x1007aa99
mov edi, dword [ecx + 8]
mov dword [esp + 0x20], edi
test edi, edi
jne 0x1007a2f1
cmp dword [ecx + 0x74], edi
jne 0x1007a2e6
mov eax, dword [esp + 0x14]
test byte [eax + 0x4c], 8
jne 0x1007a2e6
mov byte [ecx + 0x17], 1
call fcn.10039b20
mov edi, eax
mov dword [esp + 0x20], eax
cmp byte [esp + 0x30], 0xc
jne 0x1007a315
mov eax, dword [esi + 0x1c]
mov edx, 0x64
mov ecx, edi
push dword [eax]
push dword [esp + 0x38]
call fcn.10039ff0
add esp, 8
mov byte [esp + 0x30], 0xe
test dword [esi + 4], 0x400
je 0x1007a345
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x30]
push eax
mov edx, esi
call fcn.1007a1d0
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jns 0x1007aa62
xor eax, eax
mov dword [esp + 0x10], eax
test dword [esi + 4], 0x2000
je 0x1007a368
mov edi, dword [esp + 0xc]
lea eax, [esp + 0x30]
push eax
mov edx, esi
mov ecx, edi
call fcn.10079b40
add esp, 4
jmp 0x1007a905
cmp dword [esi + 0x30], 0
je 0x1007a385
push dword [ebp + 8]
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.1007afd0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x34], 0
jne 0x1007a3b9
push str.COMPOUND_QUERY
push 1
push dword [esp + 0x14]
call fcn.1003a460
add esp, 0xc
push str.LEFT_MOST_SUBQUERY
push 1
push dword [esp + 0x14]
call fcn.1003a460
mov ecx, dword [esp + 0x24]
add esp, 0xc
movzx eax, byte [esi]
sub eax, 0x84
je 0x1007a708
dec eax
je 0x1007a5e0
dec eax
je 0x1007a708
mov ecx, dword [esp + 0xc]
push 0
mov edx, dword [ecx + 0x28]
mov dword [esp + 0xc], edx
push edx
lea eax, [edx + 1]
mov edx, 0x64
mov dword [esp + 0x30], eax
inc eax
mov dword [ecx + 0x28], eax
mov ecx, edi
call fcn.10039ff0
mov dword [esi + 0x14], eax
add esp, 8
mov eax, dword [esi + 0x38]
mov ecx, esi
test eax, eax
je 0x1007a419
lea esp, [esp]
mov ecx, eax
mov eax, dword [ecx + 0x38]
test eax, eax
jne 0x1007a410
or dword [ecx + 4], 0x20
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x54], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call fcn.1007edd0
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x1007aa62
push eax
push dword [esp + 0x2c]
lea edx, [eax + 0x64]
mov ecx, edi
call fcn.10039ff0
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x3c]
movzx ecx, byte [esi]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x34], 0
mov dword [esi + 0x3c], 0
mov dword [esp + 0x5c], eax
call fcn.10078450
push eax
push str._s_USING_TEMP_B_TREE
push 1
push dword [esp + 0x20]
call fcn.1003a460
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
mov edx, esi
call fcn.1007edd0
mov dword [esp + 0x2c], eax
add esp, 0x1c
mov eax, dword [esi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x34], eax
movzx eax, word [eax + 2]
cmp word [esi + 2], ax
jle 0x1007a4e0
mov word [esi + 2], ax
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x1007a4f0
mov ecx, dword [esp + 0x14]
call fcn.1004f6f0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x3c], eax
mov esi, dword [ecx + 0x38]
dec esi
push esi
mov dword [esp + 0x1c], esi
lea eax, [esi - 1]
mov dword [ecx + 0x38], eax
call fcn.10079860
add esp, 4
mov edx, 0x25
mov ecx, edi
push esi
push dword [esp + 0xc]
call fcn.10039ff0
mov ecx, dword [esp + 0x14]
call fcn.10056ab0
mov esi, eax
mov edx, 0x7e
push esi
push dword [esp + 0x14]
mov ecx, edi
call fcn.10039ff0
mov ecx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x28]
mov edx, 0x1d
push 0
push esi
dec eax
push eax
push dword [esp + 0x44]
call fcn.1003a610
mov ecx, dword [esp + 0x2c]
mov edx, esi
call fcn.10056ad0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
push eax
lea esi, [eax - 1]
push esi
lea eax, [esp + 0x58]
push eax
push 0
push 0
push dword [esp + 0x3c]
call fcn.10077650
mov edx, esi
mov esi, dword [esp + 0x58]
mov ecx, esi
call fcn.1003a780
push edi
mov edi, dword [esp + 0x44]
mov edx, 5
push edi
mov ecx, esi
call fcn.10039ff0
mov edx, dword [esp + 0x58]
add esp, 0x40
mov ecx, esi
call fcn.1003a780
lea eax, [edi + 1]
mov edx, 0x74
push 0
push eax
mov ecx, esi
call fcn.10039ff0
push 0
push edi
mov edx, 0x74
mov ecx, esi
call fcn.10039ff0
add esp, 0x10
jmp 0x1007a8f0
xor eax, eax
mov edx, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x3c], eax
lea eax, [esp + 0x30]
mov ecx, dword [esp + 0xc]
push eax
call fcn.1007edd0
mov ecx, eax
mov dword [esi + 0x3c], 0
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x1007aa62
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
test ecx, ecx
je 0x1007a667
push ecx
mov edx, 0x14
mov ecx, edi
call fcn.10039f90
mov ecx, dword [esi + 0xc]
add esp, 4
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x1007a667
push ecx
inc ecx
mov edx, 0x98
push ecx
push dword [esi + 8]
mov ecx, edi
call fcn.10039ec0
add esp, 0xc
push str.UNION_ALL
push 1
push dword [esp + 0x14]
call fcn.1003a460
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x3c]
add esp, 0xc
mov edx, esi
push eax
call fcn.1007edd0
mov cx, word [esi + 2]
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x34], eax
mov dx, word [eax + 2]
call fcn.1001da00
mov edx, dword [esp + 0x18]
mov word [esi + 2], ax
mov word [esp + 8], ax
mov ecx, dword [edx + 0x3c]
test ecx, ecx
je 0x1007a6ee
mov ecx, dword [ecx + 0xc]
lea edx, [esp + 0x2c]
call fcn.10050d80
test eax, eax
je 0x1007a6ee
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x1007a6ee
cdq
push edx
push eax
call fcn.1001da60
add esp, 8
cmp word [esp + 8], ax
jle 0x1007a6ee
mov word [esi + 2], ax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1007a8f4
mov edx, eax
mov ecx, edi
call fcn.1003aa70
jmp 0x1007a8f4
cmp byte [esp + 0x30], 1
jne 0x1007a719
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
jmp 0x1007a759
mov ecx, dword [esp + 0xc]
push 0
mov edx, dword [ecx + 0x28]
mov dword [esp + 0xc], edx
push edx
lea eax, [edx + 1]
mov edx, 0x64
mov dword [ecx + 0x28], eax
mov ecx, edi
call fcn.10039ff0
mov dword [esi + 0x14], eax
add esp, 8
mov eax, dword [esi + 0x38]
mov ecx, esi
test eax, eax
je 0x1007a751
mov ecx, eax
mov eax, dword [ecx + 0x38]
test eax, eax
jne 0x1007a748
or dword [ecx + 4], 0x20
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x6c], 1
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
call fcn.1007edd0
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x1007aa62
cmp byte [esi], 0x86
mov edx, dword [esi + 0x3c]
sete al
mov dword [esi + 0x34], ecx
inc al
mov dword [esi + 0x3c], ecx
movzx ecx, byte [esi]
mov dword [esp + 0x2c], edx
mov byte [esp + 0x68], al
call fcn.10078450
push eax
push 0x100cc064
push 1
push edi
call fcn.1003a460
lea eax, [esp + 0x78]
mov edx, esi
push eax
mov ecx, edi
call fcn.1007edd0
mov edx, dword [esi + 0x30]
add esp, 0x14
mov dword [esp + 0x10], eax
test edx, edx
je 0x1007a7f3
mov ecx, dword [esp + 0x14]
call fcn.100507b0
cmp byte [esi], 0x84
mov eax, dword [esi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], 0
jne 0x1007a81e
mov dx, word [eax + 2]
mov cx, word [esi + 2]
call fcn.1001da00
mov word [esi + 2], ax
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x1007a82e
mov ecx, dword [esp + 0x14]
call fcn.1004f6f0
cmp byte [esp + 0x30], 1
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x3c], eax
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
je 0x1007a8f8
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x51], 0
jne 0x1007a8f8
mov esi, dword [edi + 0x38]
mov eax, dword [esp + 0xc]
dec esi
mov edx, dword [esp + 0x1c]
mov ecx, eax
push esi
mov dword [esp + 0x2c], esi
lea edi, [esi - 1]
mov dword [eax + 0x38], edi
call fcn.10079860
add esp, 4
mov edx, 0x25
push esi
push dword [esp + 0xc]
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.10039ff0
push dword [esp + 0x30]
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esi + 0x6c]
push edi
push eax
push 0
push 0
push dword [esp + 0x24]
call fcn.10077650
mov edx, edi
mov edi, dword [esp + 0x40]
mov ecx, edi
call fcn.1003a780
push esi
mov esi, dword [esp + 0x2c]
mov edx, 5
push esi
mov ecx, edi
call fcn.10039ff0
mov edx, dword [esp + 0x50]
mov ecx, edi
call fcn.1003a780
push 0
push esi
mov edx, 0x74
mov ecx, edi
call fcn.10039ff0
add esp, 0x30
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xc]
cmp dword [esi + 0x38], 0
jne 0x1007a905
mov ecx, edi
call fcn.1003a4c0
cmp dword [edi + 0x24], 0
jne 0x1007aa62
test byte [esi + 4], 0x20
je 0x1007aa62
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x14]
push 1
mov eax, dword [eax]
mov edx, eax
mov dword [esp + 0x2c], eax
call fcn.100782f0
mov edi, eax
add esp, 4
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x1007a944
lea esi, [eax + 7]
jmp 0x1007aa66
lea eax, [edi + 0x14]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0x28], eax
jle 0x1007a9a0
mov edi, dword [esp + 0xc]
jmp 0x1007a960
push eax
mov edx, esi
mov ecx, edi
call fcn.100799a0
mov ecx, dword [esp + 0xc]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x1007a980
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
add ecx, 4
inc eax
mov dword [esp + 8], ecx
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x28]
jl 0x1007a960
mov edi, dword [esp + 0x2c]
lea ebx, [ebx]
lea eax, [esi + 0x14]
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1007aa41
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x1007a9cc
mov ecx, 0x100d03e4
jmp 0x1007a9d5
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x28]
mov dword [ecx + 8], edx
inc dword [edi]
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x1007a9f6
push edi
mov edx, 0xfffffff7
call fcn.1003aba0
add esp, 4
jmp 0x1007aa1e
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1007aa17
push 0xfffffffffffffff7
push edi
mov edx, eax
mov ecx, esi
call fcn.1003ad60
add esp, 8
jmp 0x1007aa1e
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
mov dword [eax], 0xffffffff
add eax, 4
mov dword [esp + 0xc], eax
cmp ecx, 2
jl 0x1007a9b3
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x34]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1007a9a0
dec dword [edi]
jne 0x1007aa62
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.100191e0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1007aa91
push 1
mov edx, eax
mov ecx, edi
call fcn.100764d0
add esp, 4
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi]
sub eax, 0x85
je 0x1007aabe
dec eax
je 0x1007aab7
dec eax
je 0x1007aab0
mov eax, str.UNION
jmp 0x1007aac3
mov eax, str.INTERSECT
jmp 0x1007aac3
mov eax, str.EXCEPT
jmp 0x1007aac3
mov eax, 0x100cbee0
push eax
test edx, edx
mov eax, 0x100cbff4
mov esi, str.LIMIT
cmove eax, esi
push eax
push str._s_clause_should_come_after__s_not_before
push ecx
call fcn.1001c650
add esp, 0x10
mov esi, 1
jmp 0x1007aa6a