Function at 0x5c3fe0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x34], 2
push edi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], eax
je 0x5c404a
push 0
push 0x73e21c
push 0x57a
push str.src_backend_tcoppquery.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x5c404a
mov ecx, dword [esi]
push ecx
push str.portal___s__cannot_be_run
call sym.postgres.exe_errmsg
add esp, 8
push eax
push 0x145
call sym.postgres.exe_errcode
add esp, 4
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov dword [esi + 0x34], 3
mov ecx, dword [sym.postgres.exe_PortalContext]
mov edx, dword [sym.postgres.exe_ActivePortal]
mov eax, dword [sym.postgres.exe_CurrentResourceOwner]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x4c], edx
mov edx, dword [sym.postgres.exe_PG_exception_stack]
mov dword [ebp - 0x50], eax
mov eax, dword [sym.postgres.exe_error_context_stack]
lea ecx, [ebp - 0x44]
push 0
push ecx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
call sub.MSVCR100.dll__setjmp3
add esp, 8
test eax, eax
jne 0x5c4169
mov esi, dword [ebp - 0x48]
mov edi, dword [sym.postgres.exe_CurrentMemoryContext]
lea edx, [ebp - 0x44]
mov dword [sym.postgres.exe_PG_exception_stack], edx
mov dword [sym.postgres.exe_ActivePortal], esi
mov eax, dword [esi + 0xc]
mov dword [sym.postgres.exe_CurrentResourceOwner], eax
mov eax, dword [esi + 8]
mov dword [sym.postgres.exe_PortalContext], eax
mov dword [sym.postgres.exe_CurrentMemoryContext], eax
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x5c410b
dec eax
cmp eax, 2
ja 0x5c40e4
cmp dword [esi + 0x48], 0
jne 0x5c40de
push 0
mov ecx, esi
call fcn.005c3940
add esp, 4
mov ecx, dword [ebp - 0x54]
push ecx
jmp 0x5c410f
push 0x73e21c
push 0x5a3
push str.src_backend_tcoppquery.c
call sym.postgres.exe_elog_start
push str.unsupported_portal_strategy
push 0x14
call sym.postgres.exe_elog_finish
add esp, 0x14
xor eax, eax
jmp 0x5c411f
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, esi
call fcn.005c3a30
add esp, 4
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [sym.postgres.exe_PG_exception_stack], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [sym.postgres.exe_error_context_stack], edx
mov edx, dword [ebp - 0x50]
mov dword [sym.postgres.exe_CurrentMemoryContext], edi
mov dword [esi + 0x34], 2
mov dword [sym.postgres.exe_ActivePortal], ecx
mov ecx, dword [ebp - 0x58]
mov dword [sym.postgres.exe_PortalContext], ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov dword [sym.postgres.exe_CurrentResourceOwner], edx
pop esi
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
push ecx
mov dword [sym.postgres.exe_PG_exception_stack], edx
mov dword [sym.postgres.exe_error_context_stack], eax
call sym.postgres.exe_MarkPortalFailed
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
add esp, 4
mov dword [sym.postgres.exe_ActivePortal], edx
mov dword [sym.postgres.exe_CurrentResourceOwner], eax
mov dword [sym.postgres.exe_PortalContext], ecx
call sym.postgres.exe_pg_re_throw
push 1
call dword [sym.imp.MSVCR100.dll_exit]
int3