Function at 0x42f6b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x58], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0x4c], edx
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
push ebx
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 0x4c]
push esi
push edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x50], ecx
test edx, edx
jne 0x42f703
mov eax, dword [sym.postgres.exe_CurrentMemoryContext]
push 0x28
push eax
call sym.postgres.exe_MemoryContextAllocZero
add esp, 8
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x50]
push ecx
push sym.postgres.exe__bt_end_vacuum_callback
call sym.postgres.exe_on_shmem_exit
mov edx, dword [sym.postgres.exe_PG_exception_stack]
mov eax, dword [sym.postgres.exe_error_context_stack]
xor ebx, ebx
lea ecx, [ebp - 0x44]
push ebx
push ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x54], eax
call sub.MSVCR100.dll__setjmp3
add esp, 0x10
test eax, eax
jne 0x42f8a8
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x44]
push eax
mov dword [sym.postgres.exe_PG_exception_stack], edx
call sym.postgres.exe__bt_start_vacuum
fldz
movzx ecx, ax
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x58]
mov edi, dword [edx]
push 0x800000
push 0x2000
fstp qword [eax + 0x10]
mov byte [eax + 8], bl
mov dword [eax + 0x20], ebx
push ebx
mov word [ebp - 0x7c], cx
mov ecx, dword [sym.postgres.exe_CurrentMemoryContext]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x64]
push 0x6aea60
push ecx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
call sym.postgres.exe_AllocSetContextCreate
add esp, 0x18
mov dword [ebp - 0x6c], eax
cmp byte [edi + 0x1b], bl
jne 0x42f7bc
mov byte [ebp - 0x45], 1
cmp dword [edi + 0x1c], ebx
je 0x42f7bf
mov byte [ebp - 0x45], bl
mov esi, 1
cmp byte [ebp - 0x45], 0
je 0x42f7d5
push 7
push edi
call sym.postgres.exe_LockRelationForExtension
add esp, 8
push ebx
push edi
call sym.postgres.exe_RelationGetNumberOfBlocksInFork
add esp, 8
cmp byte [ebp - 0x45], 0
mov ebx, eax
je 0x42f7f2
push 7
push edi
call sym.postgres.exe_UnlockRelationForExtension
add esp, 8
cmp esi, ebx
jae 0x42f80f
push esi
push esi
lea ecx, [ebp - 0x8c]
call fcn.0042f050
inc esi
add esp, 8
cmp esi, ebx
jb 0x42f7f6
xor ebx, ebx
jmp 0x42f7c4
cmp dword [sym.postgres.exe_wal_level], 2
jl 0x42f858
cmp ebx, 1
jbe 0x42f858
lea eax, [ebx - 1]
cmp dword [ebp - 0x78], eax
jae 0x42f858
mov edx, dword [ebp - 0x58]
mov ecx, dword [edx + 0x18]
push ecx
push 0
push eax
push 0
push edi
call sym.postgres.exe_ReadBufferExtended
mov esi, eax
push esi
call sym.postgres.exe_LockBufferForCleanup
mov edx, dword [ebp - 0x78]
push edx
push 0
push 0
push esi
push edi
call sym.postgres.exe__bt_delitems_vacuum
push esi
push edi
call sym.postgres.exe__bt_relbuf
add esp, 0x34
mov eax, dword [ebp - 0x6c]
push eax
call sym.postgres.exe_MemoryContextDelete
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x70]
push esi
push sym.postgres.exe__bt_end_vacuum_callback
mov dword [eax], ebx
mov dword [eax + 0x24], ecx
call sym.postgres.exe_cancel_shmem_exit
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x54]
push esi
mov dword [sym.postgres.exe_PG_exception_stack], edx
mov dword [sym.postgres.exe_error_context_stack], eax
call sym.postgres.exe__bt_end_vacuum
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 4]
add esp, 0x10
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x54]
push esi
push sym.postgres.exe__bt_end_vacuum_callback
mov dword [sym.postgres.exe_PG_exception_stack], ecx
mov dword [sym.postgres.exe_error_context_stack], edx
call sym.postgres.exe_cancel_shmem_exit
push esi
push ebx
call sym.postgres.exe__bt_end_vacuum_callback
add esp, 0x10
call sym.postgres.exe_pg_re_throw
push 1
call dword [sym.imp.MSVCR100.dll_exit]
int3