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

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x50]
push edi
mov edi, dword [esp + 0x50]
mov eax, dword [esi + 0x1c]
mov ebp, dword [esi + 0x20]
mov ebx, dword [edi + 8]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x44], eax
je 0x1012ce69
push str.cannot_use_window_functions_in_recursive_queries
push edi
call fcn.10143429
pop ecx
pop ecx
jmp 0x1012d122
push eax
push eax
push eax
push 0x21
push edi
call fcn.1021b520
add esp, 0x14
test eax, eax
jne 0x1012d122
dec dword [edi + 0x38]
mov ecx, 0x140
mov eax, dword [edi + 0x38]
push eax
push esi
push edi
mov dword [esp + 0x20], eax
mov word [esi + 2], cx
call fcn.10125fb7
mov eax, dword [esi + 0x3c]
add esp, 0xc
mov edx, dword [esi + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
mov dword [esp + 0x54], edx
cmp dword [ebp], eax
jle 0x1012cee7
lea ecx, [ebp + 0x30]
test byte [ecx], 0x20
jne 0x1012cedc
inc eax
add ecx, 0x48
cmp eax, dword [ebp]
jl 0x1012cecc
jmp 0x1012cee7
imul eax, eax, 0x48
mov eax, dword [eax + ebp + 0x34]
mov dword [esp + 0x10], eax
mov ebp, dword [edi + 0x28]
mov dword [esp + 0x50], ebp
lea eax, [ebp + 1]
mov dword [edi + 0x28], eax
cmp byte [esi], 0x84
jne 0x1012cf0d
xor ecx, ecx
mov dword [esp + 0x1c], eax
test edx, edx
setne cl
add ecx, 5
inc eax
mov dword [edi + 0x28], eax
jmp 0x1012cf16
mov ecx, edx
neg ecx
sbb ecx, ecx
add ecx, 8
push ebp
push ecx
lea eax, [esp + 0x38]
push eax
call fcn.101553fc
push dword [esp + 0x24]
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
push eax
push dword [esp + 0x24]
mov dword [esp + 0x38], eax
push 0x72
push ebx
call fcn.1021b520
add esp, 0x20
cmp dword [esp + 0x54], 0
je 0x1012cf75
push 1
push esi
push edi
call fcn.101310a6
push 0xfffffffffffffff7
push eax
mov eax, dword [esp + 0x68]
push 0
mov eax, dword [eax]
add eax, 2
push eax
push ebp
push 0x64
push ebx
call fcn.1021b520
mov eax, dword [esp + 0x7c]
add esp, 0x28
mov dword [esp + 0x48], eax
jmp 0x1012cf85
push dword [esp + 0x18]
push ebp
push 0x64
push ebx
call fcn.101596d3
add esp, 0x10
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1012cfa2
push 0
push eax
push 0x64
push ebx
call fcn.101596d3
add esp, 0x10
mov dword [esi + 0x14], eax
or dword [esi + 4], 0x20
and dword [esi + 0x30], 0
mov ebp, esi
test byte [ebp + 4], 8
jne 0x1012d0f5
mov eax, dword [ebp + 0x34]
mov byte [ebp], 0x85
test dword [eax + 4], 0x2000
je 0x1012cfc8
mov ebp, eax
test ebp, ebp
jne 0x1012cfa8
mov eax, dword [ebp + 0x34]
push str.SETUP
push 1
push edi
and dword [eax + 0x38], 0
mov dword [esp + 0x24], eax
call fcn.1015fa1f
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x28]
push edi
call fcn.10153d2c
mov ecx, dword [esp + 0x30]
add esp, 0x18
mov dword [ecx + 0x38], esi
test eax, eax
jne 0x1012d102
push dword [esp + 0x14]
push dword [esp + 0x54]
push 0x25
push ebx
call fcn.101596d3
push dword [esp + 0x20]
mov dword [esp + 0x30], eax
push 0x81
push ebx
call fcn.101596ba
mov eax, dword [esp + 0x70]
add esp, 0x1c
push dword [esp + 0x20]
test eax, eax
je 0x1012d048
mov eax, dword [eax]
inc eax
push eax
push dword [esp + 0x58]
push 0x59
push ebx
call fcn.1021b520
add esp, 0x14
jmp 0x1012d057
push dword [esp + 0x54]
push 0x7f
push ebx
call fcn.101596d3
add esp, 0x10
push dword [esp + 0x50]
push 0x7b
push ebx
call fcn.101596ba
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
push eax
push dword [esp + 0x34]
mov dword [esp + 0x64], eax
push ebx
call fcn.1012543e
push dword [esp + 0x2c]
push dword [esp + 0x6c]
push dword [esp + 0x78]
push 0
push 0
push dword [esp + 0x3c]
push esi
push edi
call fcn.10139431
mov eax, dword [esp + 0x60]
add esp, 0x38
test eax, eax
je 0x1012d0ae
push dword [esp + 0x14]
push eax
push 0x3b
push ebx
call fcn.101596d3
add esp, 0x10
push dword [esp + 0x50]
push ebx
call fcn.10161d60
and dword [ebp + 0x34], 0
push str.RECURSIVE_STEP
push 1
push edi
call fcn.1015fa1f
lea eax, [esp + 0x44]
push eax
push esi
push edi
call fcn.10153d2c
push dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
push ebx
mov dword [ebp + 0x34], eax
call fcn.1015fce3
push dword [esp + 0x3c]
push ebx
call fcn.10161d60
add esp, 0x30
jmp 0x1012d102
push str.recursive_aggregate_queries_not_supported
push edi
call fcn.10143429
pop ecx
pop ecx
cmp dword [esi + 0x30], 0
je 0x1012d114
push dword [esi + 0x30]
push dword [edi]
call fcn.1012a078
pop ecx
pop ecx
mov eax, dword [esp + 0x54]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x3c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret