Function at 0x491fe0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x148], ecx
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x160], eax
mov eax, dword [ecx]
push esi
mov dword [ebp - 0x158], edx
xor edx, edx
add eax, 0xffffff9b
push edi
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x150], edx
mov edi, 0x6c1048
cmp eax, 0x21
ja case.0x492056.108
jmp dword [eax*4 + 0x49379c]
mov esi, str.Result
mov dword [ebp - 0x130], esi
jmp 0x492309
mov ecx, dword [ecx + 0x40]
sub ecx, 2
mov dword [ebp - 0x130], str.ModifyTable
je 0x4920a9
dec ecx
je 0x492099
dec ecx
jne 0x492307
mov esi, str.Delete
mov dword [ebp - 0x150], esi
jmp 0x492309
mov esi, str.Insert
mov dword [ebp - 0x150], esi
jmp 0x492309
mov esi, str.Update
mov dword [ebp - 0x150], esi
jmp 0x492309
mov esi, str.Append
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Merge_Append
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Recursive_Union
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.BitmapAnd
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.BitmapOr
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Nested_Loop
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Merge
mov dword [ebp - 0x130], str.Merge_Join
jmp 0x492309
mov esi, str.Hash
mov dword [ebp - 0x130], str.Hash_Join
jmp 0x492309
mov esi, str.Seq_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Index_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Index_Only_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Bitmap_Index_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Bitmap_Heap_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Tid_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Subquery_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Function_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Values_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.CTE_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.WorkTable_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Foreign_Scan
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Materialize
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Sort
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Group
mov dword [ebp - 0x130], esi
jmp 0x492309
mov ecx, dword [ecx + 0x40]
sub ecx, edx
mov esi, str.Aggregate
mov dword [ebp - 0x130], esi
je 0x492281
dec ecx
je 0x49226d
dec ecx
je 0x492259
mov esi, str.Aggregate____
mov dword [ebp - 0x144], edi
jmp 0x492309
mov esi, str.HashAggregate
mov dword [ebp - 0x144], str.Hashed
jmp 0x492309
mov esi, str.GroupAggregate
mov dword [ebp - 0x144], str.Sorted
jmp 0x492309
mov dword [ebp - 0x144], str.Plain
jmp 0x492309
mov esi, str.WindowAgg
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Unique
mov dword [ebp - 0x130], esi
jmp 0x492309
mov ecx, dword [ecx + 0x44]
sub ecx, edx
mov esi, str.SetOp
mov dword [ebp - 0x130], esi
je 0x492272
dec ecx
je 0x4922c9
mov esi, str.SetOp____
mov dword [ebp - 0x144], edi
jmp 0x492309
mov esi, str.HashSetOp
mov dword [ebp - 0x144], str.Hashed
jmp 0x492309
mov esi, str.LockRows
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Limit
mov dword [ebp - 0x130], esi
jmp 0x492309
mov esi, str.Hash
mov dword [ebp - 0x130], esi
jmp 0x492309
mov dword [ebp - 0x130], edi
mov esi, edi
mov edi, dword [ebp - 0x158]
neg edi
sbb edi, edi
not edi
and edi, str.Plan
push str.Plan
mov eax, ebx
mov cl, 1
call fcn.00491100
add esp, 4
cmp dword [ebx + 0xc], 0
jne 0x492399
mov edi, dword [ebp - 0x148]
test edi, edi
je 0x49235e
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx]
add ecx, ecx
push ecx
push edx
call sym.postgres.exe_appendStringInfoSpaces
mov eax, dword [ebx]
push edi
push 0x6c1514
push eax
call sym.postgres.exe_appendStringInfo
add esp, 0x14
inc dword [ebx + 0x18]
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x492385
mov edx, dword [ebx]
lea ecx, [eax + eax]
push ecx
push edx
call sym.postgres.exe_appendStringInfoSpaces
mov eax, dword [ebx]
push 0x6c150c
push eax
call sym.postgres.exe_appendStringInfoString
add esp, 0x10
add dword [ebx + 0x18], 2
mov ecx, dword [ebx]
push esi
push ecx
call sym.postgres.exe_appendStringInfoString
add esp, 8
inc dword [ebx + 0x18]
jmp 0x49241c
mov ecx, dword [ebp - 0x130]
push 0
mov eax, ebx
mov edi, str.Node_Type
call fcn.00490ed0
mov ecx, dword [ebp - 0x144]
add esp, 4
test ecx, ecx
je 0x4923cb
push 0
mov eax, ebx
mov edi, str.Strategy
call fcn.00490ed0
add esp, 4
mov ecx, dword [ebp - 0x150]
test ecx, ecx
je 0x4923e6
push 0
mov eax, ebx
mov edi, str.Operation
call fcn.00490ed0
add esp, 4
mov ecx, dword [ebp - 0x158]
test ecx, ecx
je 0x492401
push 0
mov eax, ebx
mov edi, str.Parent_Relationship
call fcn.00490ed0
add esp, 4
mov ecx, dword [ebp - 0x148]
test ecx, ecx
je 0x49241c
push 0
mov eax, ebx
mov edi, str.Subplan_Name
call fcn.00490ed0
add esp, 4
mov esi, dword [ebp - 0x13c]
mov edx, dword [esi]
lea eax, [edx - 0x66]
cmp eax, 0x1e
ja case.0x492437.103
movzx eax, byte [eax + 0x493844]
jmp dword [eax*4 + 0x493824]
mov eax, dword [esi + 0x40]
push esi
call fcn.00491d80
jmp 0x4925a9
mov ecx, dword [esi + 0x5c]
mov eax, dword [esi + 0x48]
push ecx
call fcn.00491ca0
mov eax, dword [esi + 0x40]
push esi
call fcn.00491d80
add esp, 8
jmp case.0x492437.103
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x48]
push edx
call fcn.00491ca0
mov eax, dword [esi + 0x40]
push esi
call fcn.00491d80
add esp, 8
jmp case.0x492437.103
mov eax, esi
mov esi, dword [eax + 0x48]
call fcn.00490900
mov ecx, eax
mov eax, ebx
cmp dword [eax + 0xc], 0
jne 0x4924b6
push ecx
mov ecx, dword [eax]
push 0x6c0e90
push ecx
call sym.postgres.exe_appendStringInfo
mov esi, dword [ebp - 0x13c]
add esp, 0xc
jmp case.0x492437.103
push 0
mov edi, str.Index_Name
call fcn.00490ed0
mov esi, dword [ebp - 0x13c]
jmp 0x4925a9
mov ecx, esi
call fcn.00491fc0
jmp case.0x492437.103
mov eax, dword [esi + 0x40]
cmp eax, 5
ja case.default.0x4924e1
jmp dword [eax*4 + 0x493864]
mov ecx, str.Inner
jmp 0x492517
mov ecx, str.Left
jmp 0x492517
mov ecx, str.Full
jmp 0x492517
mov ecx, str.Right
jmp 0x492517
mov ecx, str.Semi
jmp 0x492517
mov ecx, str.Anti
jmp 0x492517
mov ecx, 0x6c1048
cmp dword [ebx + 0xc], 0
jne 0x49254b
test eax, eax
je 0x492534
mov edx, dword [ebx]
push ecx
push str.__s_Join
push edx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
jmp case.0x492437.103
cmp edx, 0x7a
je case.0x492437.103
mov eax, dword [ebx]
push str._Join
push eax
call sym.postgres.exe_appendStringInfo
add esp, 8
jmp case.0x492437.103
mov edi, str.Join_Type
jmp 0x4925a0
mov eax, dword [esi + 0x40]
cmp eax, 3
ja case.default.0x49255a
jmp dword [eax*4 + 0x49387c]
mov ecx, str.Intersect
jmp 0x492582
mov ecx, str.Intersect_All
jmp 0x492582
mov ecx, str.Except
jmp 0x492582
mov ecx, str.Except_All
jmp 0x492582
mov ecx, 0x6c1048
cmp dword [ebx + 0xc], 0
jne 0x49259b
push ecx
mov ecx, dword [ebx]
push 0x6b14bc
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
jmp case.0x492437.103
mov edi, str.Command
push 0
mov eax, ebx
call fcn.00490ed0
add esp, 4
cmp byte [ebx + 6], 0
je 0x4926b3
cmp dword [ebx + 0xc], 0
jne 0x4925ec
mov edx, dword [esi + 0x20]
fld qword [esi + 0x18]
mov eax, dword [ebx]
push edx
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esi + 0x10]
fstp qword [esp + 8]
fld qword [esi + 8]
fstp qword [esp]
push str.___cost_.2f.._.2f_rows_.0f_width_d_
push eax
call sym.postgres.exe_appendStringInfo
add esp, 0x24
jmp 0x4926b3
fld qword [esi + 8]
sub esp, 8
fstp qword [esp]
push 2
push str._.f
lea ecx, [ebp - 0x124]
push pe_nt_image_headers32
push ecx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Startup_Cost
call fcn.00490ed0
fld qword [esi + 0x10]
add esp, 0x14
fstp qword [esp]
push 2
push str._.f
lea edx, [ebp - 0x124]
push pe_nt_image_headers32
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Total_Cost
call fcn.00490ed0
fld qword [esi + 0x18]
add esp, 0x14
fstp qword [esp]
push 0
push str._.f
lea eax, [ebp - 0x124]
push pe_nt_image_headers32
push eax
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Plan_Rows
call fcn.00490ed0
mov ecx, dword [esi + 0x20]
push ecx
push 0x6b3178
lea edx, [ebp - 0x24]
push 0x20
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Plan_Width
call fcn.00490ed0
add esp, 0x30
mov edi, dword [ebp - 0x12c]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4926c9
push eax
call sym.postgres.exe_InstrEndLoop
add esp, 4
mov ecx, dword [edi + 0xc]
fld qword [0x6c0e88]
fldz
test ecx, ecx
je 0x49282a
fcom qword [ecx + 0x78]
fnstsw ax
test ah, 5
jp 0x49282a
cmp dword [ebx + 0xc], 0
fstp st(0)
mov eax, ecx
fld qword [eax + 0x78]
fst qword [ebp - 0x154]
fld qword [eax + 0x60]
fmul st(2)
fdiv st(1)
fld qword [eax + 0x68]
fmulp st(3)
fxch st(2)
fdiv st(1)
fst qword [ebp - 0x14c]
fld qword [eax + 0x70]
fdiv st(2)
fst qword [ebp - 0x15c]
jne 0x492771
cmp byte [ecx], 0
je 0x49274e
mov eax, dword [ebx]
fxch st(2)
sub esp, 0x20
fstp qword [esp + 0x18]
fxch st(1)
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push str.__actual_time_.3f.._.3f_rows_.0f_loops_.0f_
push eax
call sym.postgres.exe_appendStringInfo
add esp, 0x28
jmp 0x492911
mov ecx, dword [ebx]
fstp st(3)
sub esp, 0x10
fstp st(0)
fstp qword [esp + 8]
fstp qword [esp]
push str.__actual_rows_.0f_loops_.0f_
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 0x18
jmp 0x492911
cmp byte [ecx], 0
fstp st(2)
fstp st(0)
je 0x4927b6
push ebx
fstp st(0)
push 3
sub esp, 8
fstp qword [esp]
push str.Actual_Startup_Time
call sym.postgres.exe_ExplainPropertyFloat
fld qword [ebp - 0x14c]
add esp, 0x14
push ebx
push 3
sub esp, 8
fstp qword [esp]
push str.Actual_Total_Time
call sym.postgres.exe_ExplainPropertyFloat
fld qword [ebp - 0x15c]
add esp, 0x14
jmp 0x4927b8
fstp st(1)
sub esp, 8
fstp qword [esp]
push 0
push str._.f
lea edx, [ebp - 0x124]
push pe_nt_image_headers32
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Actual_Rows
call fcn.00490ed0
fld qword [ebp - 0x154]
add esp, 0x14
fstp qword [esp]
push 0
push str._.f
push pe_nt_image_headers32
lea eax, [ebp - 0x124]
push eax
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Actual_Loops
call fcn.00490ed0
add esp, 0x1c
jmp 0x492911
cmp byte [ebx + 5], 0
fstp st(1)
je 0x49290f
cmp dword [ebx + 0xc], 0
jne 0x492853
mov ecx, dword [ebx]
fstp st(0)
push str.__never_executed_
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 8
jmp 0x492911
sub esp, 8
cmp byte [ecx], 0
fstp qword [esp]
je 0x4928c3
push 3
push str._.f
lea edx, [ebp - 0x124]
push pe_nt_image_headers32
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Actual_Startup_Time
call fcn.00490ed0
fldz
add esp, 0x14
fstp qword [esp]
push 3
push str._.f
lea eax, [ebp - 0x124]
push pe_nt_image_headers32
push eax
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Actual_Total_Time
call fcn.00490ed0
add esp, 0x1c
jmp 0x492911
push 0
push str._.f
lea ecx, [ebp - 0x124]
push pe_nt_image_headers32
push ecx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.Actual_Rows
call fcn.00490ed0
fldz
add esp, 0x14
fstp qword [esp]
push 0
push str._.f
push pe_nt_image_headers32
lea edx, [ebp - 0x124]
push edx
jmp 0x492809
fstp st(0)
cmp dword [ebx + 0xc], 0
jne 0x492924
mov eax, dword [ebx]
push 0xa
push eax
call sym.postgres.exe_appendStringInfoChar
add esp, 8
cmp byte [ebx + 4], 0
je 0x49293f
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x12c]
push ebx
call fcn.004916b0
add esp, 4
mov eax, dword [esi]
add eax, 0xffffff9b
cmp eax, 0x1e
ja case.0x492954.102
movzx ecx, byte [eax + 0x4938d0]
jmp dword [ecx*4 + 0x49388c]
mov edx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
mov eax, dword [edi + 0x50]
push edx
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.Index_Cond
call fcn.004917e0
mov esi, dword [ebp - 0x128]
add esp, 8
cmp dword [edi + 0x50], 0
je 0x49299c
push ebx
push 2
mov ecx, str.Rows_Removed_by_Index_Recheck
call fcn.00491bc0
add esp, 8
mov eax, dword [ebp - 0x134]
push eax
mov eax, dword [edi + 0x58]
push str.Order_By
call fcn.004917e0
mov ecx, dword [ebp - 0x134]
mov eax, dword [edi + 0x28]
push ecx
push str.Filter
call fcn.004917e0
add esp, 0x10
cmp dword [edi + 0x28], 0
je 0x492f1d
mov edx, ebx
push edx
mov esi, dword [ebp - 0x128]
push 1
mov ecx, str.Rows_Removed_by_Filter
call fcn.00491bc0
add esp, 8
mov ebx, esi
jmp case.0x492954.102
mov eax, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
push eax
mov eax, dword [edi + 0x4c]
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.Index_Cond
call fcn.004917e0
mov esi, dword [ebp - 0x128]
add esp, 8
cmp dword [edi + 0x4c], 0
je 0x492a31
push ebx
push 2
mov ecx, str.Rows_Removed_by_Index_Recheck
call fcn.00491bc0
add esp, 8
mov ecx, dword [ebp - 0x134]
mov eax, dword [edi + 0x50]
push ecx
push str.Order_By
call fcn.004917e0
mov edx, dword [ebp - 0x134]
mov eax, dword [edi + 0x28]
push edx
push str.Filter
call fcn.004917e0
add esp, 0x10
cmp dword [edi + 0x28], 0
je 0x492a72
push ebx
push 1
mov ecx, str.Rows_Removed_by_Filter
call fcn.00491bc0
add esp, 8
cmp byte [esi + 5], 0
je 0x492f1d
mov eax, dword [ebp - 0x128]
mov ecx, ebx
mov edx, dword [ecx + 0x78]
push eax
push edx
push str.Heap_Fetches
call sym.postgres.exe_ExplainPropertyLong
add esp, 0xc
jmp 0x492f1d
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x13c]
push eax
mov eax, dword [ecx + 0x50]
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.Index_Cond
call fcn.004917e0
add esp, 8
jmp 0x492f1d
mov edx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
mov eax, dword [edi + 0x48]
push edx
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.Recheck_Cond
call fcn.004917e0
add esp, 8
cmp dword [edi + 0x48], 0
je 0x492b0c
mov esi, dword [ebp - 0x128]
mov eax, ebx
push eax
push 2
mov ecx, str.Rows_Removed_by_Index_Recheck
call fcn.00491bc0
add esp, 8
mov ebx, esi
jmp case.0x492954.109
mov ebx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
mov eax, dword [edi + 0x28]
push ecx
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.Filter
call fcn.004917e0
add esp, 8
jmp 0x4929c7
movzx eax, byte [ebx + 4]
test al, al
je 0x492b70
mov edx, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x48]
push ecx
mov ecx, dword [ebp - 0x134]
mov esi, ebx
mov edi, str.Function_Call
call fcn.00491760
mov ebx, dword [ebp - 0x128]
add esp, 8
mov edx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
mov eax, dword [edi + 0x28]
push edx
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.Filter
call fcn.004917e0
add esp, 8
cmp dword [edi + 0x28], 0
je 0x492f1d
mov eax, ebx
push eax
jmp 0x4929d4
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x492bce
cmp dword [eax + 4], 1
jle 0x492bce
push 0
push eax
call sym.postgres.exe_make_orclause
add esp, 4
push eax
call sym.postgres.exe_lcons
add esp, 8
mov edx, dword [ebp - 0x134]
push edx
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.TID_Cond
call fcn.004917e0
mov eax, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x128]
push eax
mov eax, dword [edi + 0x28]
push str.Filter
call fcn.004917e0
add esp, 0x10
cmp dword [edi + 0x28], 0
je 0x492f1d
mov ecx, ebx
push ecx
jmp 0x4929da
mov edx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
mov eax, dword [edi + 0x28]
push edx
mov esi, ebx
mov ebx, dword [ebp - 0x12c]
push str.Filter
call fcn.004917e0
add esp, 8
cmp dword [edi + 0x28], 0
je 0x492c5d
mov esi, dword [ebp - 0x128]
push ebx
push 1
mov ecx, str.Rows_Removed_by_Filter
call fcn.00491bc0
add esp, 8
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + 0x10]
push ecx
push ebx
call edx
add esp, 8
jmp 0x492f1d
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x13c]
push eax
push ecx
mov ecx, dword [edi + 0x44]
push str.Join_Filter
mov esi, ebx
call fcn.00491840
add esp, 0xc
cmp dword [edi + 0x44], 0
je 0x492cbd
mov edx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x128]
push edx
push 1
mov ecx, str.Rows_Removed_by_Join_Filter
call fcn.00491bc0
add esp, 8
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x128]
push eax
push ecx
mov ecx, dword [edi + 0x28]
push str.Filter
call fcn.00491840
add esp, 0xc
cmp dword [edi + 0x28], 0
je 0x492f1d
mov edx, dword [ebp - 0x12c]
push edx
push 2
mov ecx, str.Rows_Removed_by_Filter
call fcn.00491bc0
add esp, 8
mov ebx, esi
jmp case.0x492954.102
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x13c]
push eax
push ecx
mov ecx, dword [edi + 0x48]
push str.Merge_Cond
mov esi, ebx
call fcn.00491840
mov edx, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x128]
mov ecx, dword [edi + 0x44]
push edx
push ebx
push str.Join_Filter
call fcn.00491840
add esp, 0x18
cmp dword [edi + 0x44], 0
je 0x492d65
push ebx
push 1
mov ecx, str.Rows_Removed_by_Join_Filter
call fcn.00491bc0
add esp, 8
mov eax, dword [ebp - 0x134]
mov ecx, dword [edi + 0x28]
push eax
push ebx
push str.Filter
call fcn.00491840
add esp, 0xc
cmp dword [edi + 0x28], 0
je 0x492f1d
mov ecx, ebx
push ecx
push 2
mov ecx, str.Rows_Removed_by_Filter
call fcn.00491bc0
add esp, 8
mov ebx, esi
jmp case.0x492954.102
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x13c]
mov ecx, dword [edi + 0x48]
push edx
push eax
push str.Hash_Cond
mov esi, ebx
call fcn.00491840
mov ecx, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x128]
push ecx
mov ecx, dword [edi + 0x44]
push ebx
push str.Join_Filter
call fcn.00491840
add esp, 0x18
cmp dword [edi + 0x44], 0
je 0x492dfd
push ebx
push 1
mov ecx, str.Rows_Removed_by_Join_Filter
call fcn.00491bc0
add esp, 8
mov edx, dword [ebp - 0x134]
mov ecx, dword [edi + 0x28]
push edx
push ebx
push str.Filter
call fcn.00491840
add esp, 0xc
cmp dword [edi + 0x28], 0
je 0x492f1d
mov eax, ebx
push eax
push 2
mov ecx, str.Rows_Removed_by_Filter
call fcn.00491bc0
add esp, 8
mov ebx, esi
jmp case.0x492954.102
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x13c]
push ecx
mov ecx, dword [edi + 0x28]
push edx
push str.Filter
mov esi, ebx
call fcn.00491840
add esp, 0xc
cmp dword [edi + 0x28], 0
je 0x492f1d
mov eax, dword [ebp - 0x12c]
push eax
jmp 0x4929d4
mov ecx, dword [ebp - 0x134]
mov esi, dword [ebp - 0x12c]
push ecx
mov edx, ebx
mov eax, esi
call fcn.00491f70
push esi
mov esi, ebx
call fcn.00491980
add esp, 8
jmp 0x492f1d
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x12c]
push edx
mov edx, ebx
call fcn.00491f90
add esp, 4
jmp case.0x492954.102
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x13c]
push eax
push ecx
mov ecx, dword [edi + 0x40]
push str.One_Time_Filter
mov esi, ebx
call fcn.00491840
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x128]
mov ecx, dword [edi + 0x28]
push edx
push eax
push str.Filter
call fcn.00491840
add esp, 0x18
cmp dword [edi + 0x28], 0
je 0x492f1d
mov ecx, dword [ebp - 0x12c]
push ecx
jmp 0x4929da
mov edx, dword [ebp - 0x12c]
push edx
mov esi, ebx
call fcn.00491a60
add esp, 4
mov ebx, dword [ebp - 0x128]
cmp byte [ebx + 7], 0
je 0x4934ce
cmp dword [ebx + 0xc], 0
mov eax, dword [ebp - 0x12c]
mov esi, dword [eax + 0xc]
jne 0x493289
cmp dword [esi + 0x90], 0
jg 0x492f6b
cmp dword [esi + 0x94], 0
jg 0x492f6b
cmp dword [esi + 0x98], 0
jg 0x492f6b
cmp dword [esi + 0x9c], 0
mov byte [ebp - 0x13f], 0
jle 0x492f72
mov byte [ebp - 0x13f], 1
cmp dword [esi + 0xa0], 0
jg 0x492f9a
cmp dword [esi + 0xa4], 0
jg 0x492f9a
cmp dword [esi + 0xa8], 0
jg 0x492f9a
cmp dword [esi + 0xac], 0
jg 0x492f9a
xor cl, cl
jmp 0x492f9c
mov cl, 1
cmp dword [esi + 0xb0], 0
mov byte [ebp - 0x13e], cl
jg 0x492fb8
cmp dword [esi + 0xb4], 0
jg 0x492fb8
xor al, al
jmp 0x492fba
mov al, 1
mov edx, dword [esi + 0xb8]
or edx, dword [esi + 0xbc]
mov byte [ebp - 0x13d], al
jne 0x492fe3
mov edx, dword [esi + 0xc0]
or edx, dword [esi + 0xc4]
mov byte [ebp - 0x135], 0
je 0x492fea
mov byte [ebp - 0x135], 1
cmp byte [ebp - 0x13f], 0
jne 0x492fff
test cl, cl
jne 0x492fff
test al, al
je 0x4931c4
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx]
add eax, eax
push eax
push ecx
call sym.postgres.exe_appendStringInfoSpaces
mov edx, dword [ebx]
push str.Buffers:
push edx
call sym.postgres.exe_appendStringInfoString
add esp, 0x10
cmp byte [ebp - 0x13f], 0
je 0x4930c9
mov eax, dword [ebx]
push str._shared
push eax
call sym.postgres.exe_appendStringInfoString
mov eax, dword [esi + 0x90]
add esp, 8
test eax, eax
jle 0x493055
mov ecx, dword [ebx]
push eax
push str._hit_ld
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [esi + 0x94]
test eax, eax
jle 0x493070
mov edx, dword [ebx]
push eax
push str._read_ld
push edx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [esi + 0x98]
test eax, eax
jle 0x49308b
push eax
mov eax, dword [ebx]
push str._dirtied_ld
push eax
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [esi + 0x9c]
test eax, eax
jle 0x4930a6
mov ecx, dword [ebx]
push eax
push str._written_ld
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
cmp byte [ebp - 0x13e], 0
jne 0x4930bc
cmp byte [ebp - 0x13d], 0
je 0x4931b7
mov edx, dword [ebx]
push 0x2c
push edx
call sym.postgres.exe_appendStringInfoChar
add esp, 8
cmp byte [ebp - 0x13e], 0
je 0x493168
mov eax, dword [ebx]
push str._local
push eax
call sym.postgres.exe_appendStringInfoString
mov eax, dword [esi + 0xa0]
add esp, 8
test eax, eax
jle 0x493101
mov ecx, dword [ebx]
push eax
push str._hit_ld
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [esi + 0xa4]
test eax, eax
jle 0x49311c
mov edx, dword [ebx]
push eax
push str._read_ld
push edx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [esi + 0xa8]
test eax, eax
jle 0x493137
push eax
mov eax, dword [ebx]
push str._dirtied_ld
push eax
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [esi + 0xac]
test eax, eax
jle 0x493152
mov ecx, dword [ebx]
push eax
push str._written_ld
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
cmp byte [ebp - 0x13d], 0
je 0x4931b7
mov edx, dword [ebx]
push 0x2c
push edx
call sym.postgres.exe_appendStringInfoChar
add esp, 8
cmp byte [ebp - 0x13d], 0
je 0x4931b7
mov eax, dword [ebx]
push str._temp
push eax
call sym.postgres.exe_appendStringInfoString
mov eax, dword [esi + 0xb0]
add esp, 8
test eax, eax
jle 0x49319c
mov ecx, dword [ebx]
push eax
push str._read_ld
push ecx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [esi + 0xb4]
test eax, eax
jle 0x4931b7
mov edx, dword [ebx]
push eax
push str._written_ld
push edx
call sym.postgres.exe_appendStringInfo
add esp, 0xc
mov eax, dword [ebx]
push 0xa
push eax
call sym.postgres.exe_appendStringInfoChar
add esp, 8
cmp byte [ebp - 0x135], 0
je 0x4934ce
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx]
add ecx, ecx
push ecx
push edx
call sym.postgres.exe_appendStringInfoSpaces
mov eax, dword [ebx]
push str.I_O_Timings:
push eax
call sym.postgres.exe_appendStringInfoString
mov ecx, dword [esi + 0xb8]
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
add esp, 0x10
or ecx, dword [esi + 0xbc]
je 0x493236
lea edx, [ebp - 0x14c]
push edx
call edi
fild qword [esi + 0xb8]
mov eax, dword [ebx]
sub esp, 8
fmul qword [0x6c0e88]
fild qword [ebp - 0x14c]
fdivp st(1)
fstp qword [esp]
push str._read_0.3f
push eax
call sym.postgres.exe_appendStringInfo
add esp, 0x10
mov ecx, dword [esi + 0xc0]
or ecx, dword [esi + 0xc4]
je 0x493277
lea edx, [ebp - 0x14c]
push edx
call edi
fild qword [esi + 0xc0]
mov eax, dword [ebx]
sub esp, 8
fmul qword [0x6c0e88]
fild qword [ebp - 0x14c]
fdivp st(1)
fstp qword [esp]
push str._write_0.3f
push eax
call sym.postgres.exe_appendStringInfo
add esp, 0x10
mov ecx, dword [ebx]
push 0xa
push ecx
call sym.postgres.exe_appendStringInfoChar
add esp, 8
jmp 0x4934ce
mov edx, dword [esi + 0x90]
push edx
push 0x6c06cc
lea eax, [ebp - 0x24]
push 0x20
push eax
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Shared_Hit_Blocks
call fcn.00490ed0
mov ecx, dword [esi + 0x94]
push ecx
push 0x6c06cc
lea edx, [ebp - 0x24]
push 0x20
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Shared_Read_Blocks
call fcn.00490ed0
mov eax, dword [esi + 0x98]
push eax
push 0x6c06cc
lea ecx, [ebp - 0x24]
push 0x20
push ecx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Shared_Dirtied_Blocks
call fcn.00490ed0
mov edx, dword [esi + 0x9c]
push edx
push 0x6c06cc
lea eax, [ebp - 0x24]
push 0x20
push eax
call sym.postgres.exe_pg_snprintf
add esp, 0x4c
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Shared_Written_Blocks
call fcn.00490ed0
mov ecx, dword [esi + 0xa0]
push ecx
push 0x6c06cc
lea edx, [ebp - 0x24]
push 0x20
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Local_Hit_Blocks
call fcn.00490ed0
mov eax, dword [esi + 0xa4]
push eax
push 0x6c06cc
lea ecx, [ebp - 0x24]
push 0x20
push ecx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Local_Read_Blocks
call fcn.00490ed0
mov edx, dword [esi + 0xa8]
push edx
push 0x6c06cc
lea eax, [ebp - 0x24]
push 0x20
push eax
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Local_Dirtied_Blocks
call fcn.00490ed0
mov ecx, dword [esi + 0xac]
add esp, 0x40
push ecx
push 0x6c06cc
lea edx, [ebp - 0x24]
push 0x20
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Local_Written_Blocks
call fcn.00490ed0
mov eax, dword [esi + 0xb0]
push eax
push 0x6c06cc
lea ecx, [ebp - 0x24]
push 0x20
push ecx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Temp_Read_Blocks
call fcn.00490ed0
mov edx, dword [esi + 0xb4]
push edx
push 0x6c06cc
lea eax, [ebp - 0x24]
push 0x20
push eax
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x24]
mov edi, str.Temp_Written_Blocks
call fcn.00490ed0
add esp, 0x3c
lea ecx, [ebp - 0x14c]
push ecx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
fild qword [esi + 0xb8]
sub esp, 8
lea edx, [ebp - 0x124]
fmul qword [0x6c0e88]
fild qword [ebp - 0x14c]
fdivp st(1)
fstp qword [esp]
push 3
push str._.f
push pe_nt_image_headers32
push edx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.I_O_Read_Time
call fcn.00490ed0
add esp, 0x1c
lea eax, [ebp - 0x14c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
fild qword [esi + 0xc0]
sub esp, 8
lea ecx, [ebp - 0x124]
fmul qword [0x6c0e88]
fild qword [ebp - 0x14c]
fdivp st(1)
fstp qword [esp]
push 3
push str._.f
push pe_nt_image_headers32
push ecx
call sym.postgres.exe_pg_snprintf
push 1
mov eax, ebx
lea ecx, [ebp - 0x124]
mov edi, str.I_O_Write_Time
call fcn.00490ed0
add esp, 0x1c
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 0x20]
test eax, eax
jne 0x49351a
cmp dword [ecx + 0x18], eax
jne 0x49351a
cmp dword [ecx + 0x1c], eax
jne 0x49351a
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx]
cmp eax, 0x66
je 0x49351a
cmp eax, 0x67
je 0x49351a
cmp eax, 0x68
je 0x49351a
cmp eax, 0x6a
je 0x49351a
cmp eax, 0x6b
je 0x49351a
cmp eax, 0x73
je 0x49351a
cmp dword [ecx + 0x24], 0
jne 0x49351a
mov byte [ebp - 0x135], 0
jmp 0x493556
push str.Plans
mov eax, ebx
xor cl, cl
mov edi, str.Plans
mov byte [ebp - 0x135], 1
call fcn.00491100
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x12c]
push eax
push ecx
call sym.postgres.exe_lcons
mov ecx, dword [ebp - 0x12c]
add esp, 0xc
mov dword [ebp - 0x134], eax
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x493595
mov edi, dword [eax + 8]
test edi, edi
je 0x493595
mov esi, dword [ebp - 0x134]
lea ebx, [ebx]
mov eax, dword [edi]
mov edx, dword [eax + 4]
mov ecx, dword [edx + 0x14]
mov edx, dword [eax + 0xc]
push ebx
push ecx
push str.InitPlan
push esi
push edx
call fcn.00491fe0
mov edi, dword [edi + 4]
add esp, 0x14
test edi, edi
jne 0x493570
jmp 0x49359b
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x12c]
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4935ba
push ebx
push 0
push str.Outer
push esi
push eax
call fcn.00491fe0
add esp, 0x14
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4935d3
push ebx
push 0
push str.Inner
push esi
push eax
call fcn.00491fe0
add esp, 0x14
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax]
add ecx, 0xffffff9a
cmp ecx, 0xd
ja case.0x4935ea.105
movzx ecx, byte [ecx + 0x493904]
jmp dword [ecx*4 + 0x4938f0]
mov edx, dword [edi + 0x44]
mov eax, dword [eax + 0x50]
push esi
push edx
call fcn.00490960
add esp, 8
jmp case.0x4935ea.105
mov ecx, dword [edi + 0x3c]
mov eax, dword [eax + 0x40]
push esi
push ecx
call fcn.00490960
add esp, 8
jmp case.0x4935ea.105
mov edx, dword [edi + 0x3c]
mov eax, dword [eax + 0x40]
push esi
push edx
call fcn.00490960
add esp, 8
jmp case.0x4935ea.105
mov eax, dword [edi + 0x48]
push ebx
push 0
push str.Subquery
push esi
push eax
call fcn.00491fe0
add esp, 0x14
mov edi, dword [edi + 0x24]
test edi, edi
je 0x493673
mov edi, dword [edi + 8]
test edi, edi
je 0x493673
lea ebx, [ebx]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x14]
mov eax, dword [eax + 0xc]
push ebx
push edx
push str.SubPlan
push esi
push eax
call fcn.00491fe0
mov edi, dword [edi + 4]
add esp, 0x14
test edi, edi
jne 0x493650
or edi, 0xffffffff
cmp byte [ebp - 0x135], 0
je 0x4936f5
push esi
call sym.postgres.exe_list_delete_first
mov eax, dword [ebx + 0xc]
add esp, 4
dec eax
je 0x4936db
dec eax
je 0x4936a5
dec eax
jne 0x4936f5
mov ecx, dword [ebx + 0x1c]
add dword [ebx + 0x18], edi
push ecx
call sym.postgres.exe_list_delete_first
mov dword [ebx + 0x1c], eax
jmp 0x4936f2
mov edx, dword [ebx]
add dword [ebx + 0x18], edi
push 0xa
push edx
call sym.postgres.exe_appendStringInfoChar
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx]
add eax, eax
push eax
push ecx
call sym.postgres.exe_appendStringInfoSpaces
mov edx, dword [ebx]
push 0x5d
push edx
call sym.postgres.exe_appendStringInfoChar
mov eax, dword [ebx + 0x1c]
push eax
call sym.postgres.exe_list_delete_first
add esp, 0x1c
mov dword [ebx + 0x1c], eax
jmp 0x4936f5
add dword [ebx + 0x18], edi
push 1
mov esi, ebx
mov eax, str.Plans
call fcn.00490a80
mov ebx, dword [ebp - 0x128]
add esp, 4
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x493705
mov ecx, dword [ebp - 0x160]
mov dword [ebx + 0x18], ecx
dec eax
je 0x493776
dec eax
je 0x493731
dec eax
jne 0x49378a
mov edx, dword [ebx + 0x1c]
add dword [ebx + 0x18], edi
push edx
call sym.postgres.exe_list_delete_first
add esp, 4
pop edi
pop esi
mov dword [ebx + 0x1c], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
add dword [ebx + 0x18], edi
push 0xa
push eax
call sym.postgres.exe_appendStringInfoChar
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx]
add ecx, ecx
push ecx
push edx
call sym.postgres.exe_appendStringInfoSpaces
mov eax, dword [ebx]
push 0x7d
push eax
call sym.postgres.exe_appendStringInfoChar
mov ecx, dword [ebx + 0x1c]
push ecx
call sym.postgres.exe_list_delete_first
add esp, 0x1c
pop edi
pop esi
mov dword [ebx + 0x1c], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret
add dword [ebx + 0x18], edi
push 1
mov esi, ebx
mov eax, str.Plan
call fcn.00490a80
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret