Function at 0x690cc0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [sym.postgres.exe_CurrentResourceOwner]
mov eax, dword [ebp + 8]
mov edx, dword [sym.postgres.exe_PG_exception_stack]
push ebx
push esi
push edi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x54], eax
mov eax, dword [sym.postgres.exe_error_context_stack]
lea ecx, [ebp - 0x44]
push 0
push ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
call sub.MSVCR100.dll__setjmp3
add esp, 8
test eax, eax
jne 0x69103e
mov esi, dword [ebp - 0x54]
mov ebx, dword [ebp + 0x10]
lea edx, [ebp - 0x44]
mov dword [sym.postgres.exe_PG_exception_stack], edx
mov edi, dword [esi + 4]
test edi, edi
je 0x690d39
nop
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
push eax
push ebx
push ecx
push edi
call fcn.00690890
mov edi, dword [edi + 8]
add esp, 0x10
test edi, edi
jne 0x690d20
mov eax, dword [ebp + 0xc]
mov dword [sym.postgres.exe_CurrentResourceOwner], esi
test eax, eax
jne 0x690de1
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x690d7f
test bl, bl
je 0x690d65
mov edx, dword [esi + 0x14]
mov eax, dword [edx + eax*4 - 4]
push eax
call sym.postgres.exe_PrintBufferLeakWarning
add esp, 4
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov eax, dword [edx + ecx*4 - 4]
push eax
call sym.postgres.exe_ReleaseBuffer
mov eax, dword [esi + 0x10]
add esp, 4
test eax, eax
jg 0x690d51
mov eax, dword [esi + 0x34]
test eax, eax
jle 0x690fee
lea ebx, [ebx]
test bl, bl
je 0x690dc2
mov ecx, dword [esi + 0x38]
mov edi, dword [ecx + eax*4 - 4]
push str.PrintRelCacheLeakWarning
push 0x32a
push str.src_backendutils_resowner_resowner.c
call sym.postgres.exe_elog_start
mov edx, dword [edi + 0x24]
push edx
push str.relcache_reference_leak:_relation___s__not_closed
push 0x13
call sym.postgres.exe_elog_finish
add esp, 0x18
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + eax*4 - 4]
push edx
call sym.postgres.exe_RelationClose
mov eax, dword [esi + 0x34]
add esp, 4
test eax, eax
jg 0x690d90
jmp 0x690fee
cmp eax, 1
jne 0x690e24
cmp byte [ebp + 0x14], 0
je 0x690e0c
cmp esi, dword [sym.postgres.exe_TopTransactionResourceOwner]
jne 0x690fee
push ebx
call sym.postgres.exe_ProcReleaseLocks
push ebx
call sym.postgres.exe_ReleasePredicateLocks
add esp, 8
jmp 0x690fee
test bl, bl
je 0x690e1a
call sym.postgres.exe_LockReassignCurrentOwner
jmp 0x690fee
call sym.postgres.exe_LockReleaseCurrentOwner
jmp 0x690fee
cmp eax, 2
jne 0x690fee
mov eax, dword [esi + 0x1c]
test eax, eax
jle 0x690e62
test bl, bl
je 0x690e48
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + eax*4 - 4]
push edx
call sym.postgres.exe_PrintCatCacheLeakWarning
add esp, 4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + eax*4 - 4]
push edx
call sym.postgres.exe_ReleaseCatCache
mov eax, dword [esi + 0x1c]
add esp, 4
test eax, eax
jg 0x690e34
mov eax, dword [esi + 0x28]
test eax, eax
jle 0x690e9e
lea esp, [esp]
test bl, bl
je 0x690e84
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx + eax*4 - 4]
push edx
call sym.postgres.exe_PrintCatCacheListLeakWarning
add esp, 4
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx + eax*4 - 4]
push edx
call sym.postgres.exe_ReleaseCatCacheList
mov eax, dword [esi + 0x28]
add esp, 4
test eax, eax
jg 0x690e70
mov eax, dword [esi + 0x40]
test eax, eax
jle 0x690ef0
test bl, bl
je 0x690ed4
mov ecx, dword [esi + 0x44]
mov edi, dword [ecx + eax*4 - 4]
push str.PrintPlanCacheLeakWarning
push 0x37b
push str.src_backendutils_resowner_resowner.c
call sym.postgres.exe_elog_start
push edi
push str.plancache_reference_leak:_plan__p_not_closed
push 0x13
call sym.postgres.exe_elog_finish
add esp, 0x18
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + edx*4 - 4]
push 1
push ecx
call sym.postgres.exe_ReleaseCachedPlan
mov eax, dword [esi + 0x40]
add esp, 8
test eax, eax
jg 0x690ea5
mov eax, dword [esi + 0x4c]
test eax, eax
jle 0x690f48
test bl, bl
je 0x690f2e
mov edx, dword [esi + 0x50]
mov edi, dword [edx + eax*4 - 4]
push str.PrintTupleDescLeakWarning
push 0x3cb
push str.src_backendutils_resowner_resowner.c
call sym.postgres.exe_elog_start
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
push eax
push ecx
push edi
push str.TupleDesc_reference_leak:_TupleDesc__p___u__d__still_referenced
push 0x13
call sym.postgres.exe_elog_finish
add esp, 0x20
mov edx, dword [esi + 0x4c]
mov eax, dword [esi + 0x50]
mov ecx, dword [eax + edx*4 - 4]
push ecx
call sym.postgres.exe_DecrTupleDescRefCount
mov eax, dword [esi + 0x4c]
add esp, 4
test eax, eax
jg 0x690ef7
mov eax, dword [esi + 0x58]
test eax, eax
jle 0x690f99
nop
test bl, bl
je 0x690f7f
mov edx, dword [esi + 0x5c]
mov edi, dword [edx + eax*4 - 4]
push str.PrintSnapshotLeakWarning
push 0x41d
push str.src_backendutils_resowner_resowner.c
call sym.postgres.exe_elog_start
push edi
push str.Snapshot_reference_leak:_Snapshot__p_still_referenced
push 0x13
call sym.postgres.exe_elog_finish
add esp, 0x18
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx + eax*4 - 4]
push edx
call sym.postgres.exe_UnregisterSnapshot
mov eax, dword [esi + 0x58]
add esp, 4
test eax, eax
jg 0x690f50
mov eax, dword [esi + 0x64]
test eax, eax
jle 0x690fe9
test bl, bl
je 0x690fcf
mov ecx, dword [esi + 0x68]
mov edi, dword [ecx + eax*4 - 4]
push str.PrintFileLeakWarning
push 0x471
push str.src_backendutils_resowner_resowner.c
call sym.postgres.exe_elog_start
push edi
push str.temporary_file_leak:_File__d_still_referenced
push 0x13
call sym.postgres.exe_elog_finish
add esp, 0x18
mov edx, dword [esi + 0x64]
mov eax, dword [esi + 0x68]
mov ecx, dword [eax + edx*4 - 4]
push ecx
call sym.postgres.exe_FileClose
mov eax, dword [esi + 0x64]
add esp, 4
test eax, eax
jg 0x690fa0
call sym.postgres.exe_ReleaseResources_hash
mov esi, dword [0x85fecc]
test esi, esi
je 0x691013
mov edi, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 4]
push edx
push eax
push ebx
push edi
call ecx
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x690ffb
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [sym.postgres.exe_CurrentResourceOwner], ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov dword [sym.postgres.exe_PG_exception_stack], edx
mov dword [sym.postgres.exe_error_context_stack], eax
pop ebx
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [sym.postgres.exe_PG_exception_stack], edx
mov dword [sym.postgres.exe_error_context_stack], eax
mov dword [sym.postgres.exe_CurrentResourceOwner], ecx
call sym.postgres.exe_pg_re_throw
push 1
call dword [sym.imp.MSVCR100.dll_exit]
int3