Function at 0x674850
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x8241b8]
inc dword [0x85f210]
push ebx
push esi
mov esi, eax
shl esi, 6
add esi, 0x85f0c0
mov ebx, dword [esi]
push edi
test eax, eax
jns 0x6748af
push 0
push 0x7564ec
push 0x190
push str.src_backendutilserrorelog.c
push 0x14
mov dword [0x8241b8], 0xffffffff
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x6748af
push str.errstart_was_not_called
call sym.postgres.exe_errmsg_internal
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov eax, dword [sym.postgres.exe_CurrentMemoryContext]
mov edi, dword [sym.postgres.exe_error_context_stack]
mov ecx, dword [sym.postgres.exe_ErrorContext]
mov dword [ebp - 4], eax
mov dword [sym.postgres.exe_CurrentMemoryContext], ecx
test edi, edi
je 0x6748e2
lea ecx, [ecx]
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
call eax
mov edi, dword [edi]
add esp, 4
test edi, edi
jne 0x6748d0
cmp ebx, 0x14
jne 0x67490d
dec dword [0x85f210]
xor eax, eax
mov byte [sym.postgres.exe_ImmediateInterruptOK], 0
mov dword [sym.postgres.exe_InterruptHoldoffCount], eax
mov dword [sym.postgres.exe_CritSectionCount], eax
call sym.postgres.exe_pg_re_throw
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov edi, 2
cmp ebx, 0x15
jl 0x674929
cmp dword [sym.postgres.exe_whereToSendOutput], edi
jne 0x674929
push 1
call sym.postgres.exe_pq_endcopyout
add esp, 4
call sym.postgres.exe_EmitErrorReport
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x67493e
push eax
call sym.postgres.exe_pfree
add esp, 4
mov eax, dword [esi + 0x20]
test eax, eax
je 0x67494e
push eax
call sym.postgres.exe_pfree
add esp, 4
mov eax, dword [esi + 0x24]
test eax, eax
je 0x67495e
push eax
call sym.postgres.exe_pfree
add esp, 4
mov eax, dword [esi + 0x28]
test eax, eax
je 0x67496e
push eax
call sym.postgres.exe_pfree
add esp, 4
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x67497e
push eax
call sym.postgres.exe_pfree
add esp, 4
mov esi, dword [esi + 0x38]
test esi, esi
je 0x67498e
push esi
call sym.postgres.exe_pfree
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
sub dword [0x8241b8], eax
sub dword [0x85f210], eax
mov dword [sym.postgres.exe_CurrentMemoryContext], ecx
cmp ebx, 0x15
jne 0x6749f7
cmp dword [sym.postgres.exe_PG_exception_stack], 0
mov byte [sym.postgres.exe_ImmediateInterruptOK], 0
jne 0x6749cf
cmp dword [sym.postgres.exe_whereToSendOutput], edi
jne 0x6749cf
mov dword [sym.postgres.exe_whereToSendOutput], 0
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
call esi
add eax, 0x40
push eax
call edi
push 1
call sym.postgres.exe_proc_exit
add esp, 0xc
jmp 0x674a28
cmp ebx, 0x16
jl 0x674a28
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [sym.postgres.exe_ImmediateInterruptOK], 0
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
call esi
add eax, 0x40
push eax
call edi
add esp, 8
call dword [sym.imp.MSVCR100.dll_abort]
mov eax, dword [sym.postgres.exe_pg_signal_mask]
mov edx, dword [sym.postgres.exe_pg_signal_queue]
pop edi
not eax
pop esi
pop ebx
test eax, edx
je 0x674a41
call sym.postgres.exe_pgwin32_dispatch_queued_signals
mov al, byte [sym.postgres.exe_InterruptPending]
test al, al
je 0x674a4f
call sym.postgres.exe_ProcessInterrupts
mov esp, ebp
pop ebp
ret