Function at 0x543ff8
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 0x544037
push str.cannot_use_window_functions_in_recursive_queries
push edi
call fcn.00561f37
pop ecx
pop ecx
jmp 0x5442f7
push eax
push eax
push eax
push 0x21
push edi
call fcn.00559d89
add esp, 0x14
test eax, eax
jne 0x5442f7
mov eax, dword [edi + 0x38]
mov ecx, 0x140
dec eax
push eax
push esi
mov dword [edi + 0x38], eax
push edi
mov dword [esp + 0x20], eax
mov word [esi + 2], cx
call fcn.0053be4e
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 0x5440b6
lea ecx, [ebp + 0x30]
test byte [ecx], 0x40
jne 0x5440ab
inc eax
add ecx, 0x48
cmp eax, dword [ebp]
jl 0x54409b
jmp 0x5440b6
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], 0x86
jne 0x5440dc
xor ecx, ecx
mov dword [esp + 0x1c], eax
test edx, edx
setne cl
add ecx, 5
inc eax
mov dword [edi + 0x28], eax
jmp 0x5440e5
mov ecx, edx
neg ecx
sbb ecx, ecx
add ecx, 8
push ebp
push ecx
lea eax, [esp + 0x38]
push eax
call fcn.00576dff
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 0x79
push ebx
call fcn.0057b786
add esp, 0x20
cmp dword [esp + 0x54], 0
je 0x544144
push 1
push esi
push edi
call fcn.0054ccda
push 0xfffffffffffffff8
push eax
mov eax, dword [esp + 0x68]
push 0
mov eax, dword [eax]
add eax, 2
push eax
push ebp
push 0x76
push ebx
call fcn.0057b7e0
mov eax, dword [esp + 0x7c]
add esp, 0x28
mov dword [esp + 0x48], eax
jmp 0x544154
push dword [esp + 0x18]
push ebp
push 0x76
push ebx
call fcn.0057b76b
add esp, 0x10
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x544171
push 0
push eax
push 0x76
push ebx
call fcn.0057b76b
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 0x5442ca
mov eax, dword [ebp + 0x34]
mov byte [ebp], 0x87
test dword [eax + 4], 0x2000
je 0x544197
mov ebp, eax
test ebp, ebp
jne 0x544177
mov eax, dword [ebp + 0x34]
push str.SETUP
push 1
push edi
and dword [eax + 0x38], 0
mov dword [esp + 0x24], eax
call fcn.00582490
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x28]
push edi
call fcn.005752c1
mov ecx, dword [esp + 0x30]
add esp, 0x18
mov dword [ecx + 0x38], esi
test eax, eax
jne 0x5442d7
push dword [esp + 0x14]
push dword [esp + 0x54]
push 0x24
push ebx
call fcn.0057b76b
push dword [esp + 0x20]
mov dword [esp + 0x30], eax
push 0x88
push ebx
call fcn.0057b752
mov eax, dword [esp + 0x70]
add esp, 0x1c
push dword [esp + 0x20]
test eax, eax
je 0x544217
mov eax, dword [eax]
inc eax
push eax
push dword [esp + 0x58]
push 0x5e
push ebx
call fcn.0057b786
add esp, 0x14
jmp 0x544229
push dword [esp + 0x54]
push 0x86
push ebx
call fcn.0057b76b
add esp, 0x10
push dword [esp + 0x50]
push 0x82
push ebx
call fcn.0057b752
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
push eax
push dword [esp + 0x34]
mov dword [esp + 0x64], eax
push ebx
call fcn.0053aeac
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.005567da
mov eax, dword [esp + 0x60]
add esp, 0x38
test eax, eax
je 0x544283
push dword [esp + 0x14]
push eax
push 0x3d
push ebx
call fcn.0057b76b
add esp, 0x10
push dword [esp + 0x50]
push ebx
call fcn.00584970
and dword [ebp + 0x34], 0
push str.RECURSIVE_STEP
push 1
push edi
call fcn.00582490
lea eax, [esp + 0x44]
push eax
push esi
push edi
call fcn.005752c1
push dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
push ebx
mov dword [ebp + 0x34], eax
call fcn.00582757
push dword [esp + 0x3c]
push ebx
call fcn.00584970
add esp, 0x30
jmp 0x5442d7
push str.recursive_aggregate_queries_not_supported
push edi
call fcn.00561f37
pop ecx
pop ecx
cmp dword [esi + 0x30], 0
je 0x5442e9
push dword [esi + 0x30]
push dword [edi]
call fcn.005408da
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