Function at 0x5db920
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x250
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x14]
push eax
mov dword [ebp - 0x238], edi
call sym.postgres.exe_pg_detoast_datum
mov ecx, dword [edi + 0x18]
mov esi, eax
push ecx
mov dword [ebp - 0x220], esi
call sym.postgres.exe_pg_detoast_datum
mov ebx, dword [edi + 0xc]
mov ecx, dword [esi + 4]
mov edi, dword [eax + 4]
lea edx, [esi + 0x10]
mov dword [ebp - 0x21c], eax
push edx
add eax, 0x10
push ecx
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x23c], eax
call sym.postgres.exe_ArrayGetNItems
mov edx, dword [ebp - 0x23c]
push edx
push edi
mov dword [ebp - 0x244], eax
call sym.postgres.exe_ArrayGetNItems
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x21c]
add esp, 0x18
mov dword [ebp - 0x214], 0
cmp edi, dword [eax + 0xc]
je 0x5db9fd
push 0
push str.array_cmp
push 0xd20
push str.src_backendutils_adt_arrayfuncs.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x5db9fd
push str.cannot_compare_arrays_of_different_element_types
call sym.postgres.exe_errmsg
add esp, 4
push eax
push 0x4008084
call sym.postgres.exe_errcode
add esp, 4
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov ecx, dword [ebp - 0x238]
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
test esi, esi
je 0x5dba10
cmp dword [esi], edi
je 0x5dba78
push 0x40
push edi
call sym.postgres.exe_lookup_type_cache
mov esi, eax
add esp, 8
cmp dword [esi + 0x54], 0
jne 0x5dba6d
push 0
push str.array_cmp
push 0xd32
push str.src_backendutils_adt_arrayfuncs.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x5dba6d
push edi
call sym.postgres.exe_format_type_be
push eax
push str.could_not_identify_a_comparison_function_for_type__s
call sym.postgres.exe_errmsg
add esp, 0xc
push eax
push 0x3208084
call sym.postgres.exe_errcode
add esp, 4
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax]
mov dword [ecx + 0x10], esi
mov al, byte [esi + 6]
movsx edx, word [esi + 4]
mov cl, byte [esi + 7]
mov byte [ebp - 0x20f], al
mov eax, 2
mov byte [ebp - 0x20d], cl
mov ecx, dword [ebp - 0x23c]
mov word [ebp - 0x1fa], ax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x230], edx
xor edx, edx
add esi, 0x50
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], ebx
mov byte [ebp - 0x1fc], dl
mov dword [ebp - 0x240], eax
cmp eax, ecx
jl 0x5dbadf
mov dword [ebp - 0x240], ecx
mov ecx, dword [ebp - 0x220]
mov esi, dword [ecx + 8]
cmp esi, edx
je 0x5dbaf0
mov eax, esi
jmp 0x5dbafd
mov eax, dword [ecx + 4]
lea eax, [eax*8 + 0x17]
and eax, 0xfffffff8
mov ebx, dword [ebp - 0x21c]
lea edx, [eax + ecx]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x218], edx
test ecx, ecx
je 0x5dbb17
mov eax, ecx
jmp 0x5dbb24
mov eax, dword [ebx + 4]
lea eax, [eax*8 + 0x17]
and eax, 0xfffffff8
lea edi, [eax + ebx]
test esi, esi
je 0x5dbb3a
mov eax, dword [ebp - 0x220]
mov esi, dword [eax + 4]
lea eax, [eax + esi*8 + 0x10]
jmp 0x5dbb3c
xor eax, eax
mov dword [ebp - 0x228], eax
test ecx, ecx
je 0x5dbb55
mov ecx, dword [ebx + 4]
lea ecx, [ebx + ecx*8 + 0x10]
mov dword [ebp - 0x224], ecx
jmp 0x5dbb5f
mov dword [ebp - 0x224], 0
cmp dword [ebp - 0x240], 0
mov ebx, 1
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x248], 0
jle 0x5dbe0a
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x5dbba5
test byte [eax], bl
jne 0x5dbba5
mov byte [ebp - 0x20e], 1
mov dword [ebp - 0x22c], 0
jmp 0x5dbc6f
cmp byte [ebp - 0x20f], 0
mov byte [ebp - 0x20e], 0
je 0x5dbbed
cmp ecx, 4
jne 0x5dbbc6
mov eax, dword [edx]
mov dword [ebp - 0x22c], eax
add edx, ecx
jmp 0x5dbc3d
cmp ecx, 2
jne 0x5dbbdd
movsx eax, word [edx]
and eax, 0xffff
mov dword [ebp - 0x22c], eax
add edx, ecx
jmp 0x5dbc3d
movsx eax, byte [edx]
and eax, 0xff
mov dword [ebp - 0x22c], eax
jmp 0x5dbbf3
mov dword [ebp - 0x22c], edx
test ecx, ecx
jle 0x5dbbfb
add edx, ecx
jmp 0x5dbc3d
cmp ecx, 0xffffffff
jne 0x5dbc24
mov al, byte [edx]
cmp al, 1
jne 0x5dbc0e
movzx eax, byte [edx + 1]
add edx, eax
jmp 0x5dbc3d
test al, 1
je 0x5dbc1b
movzx eax, al
shr eax, 1
add edx, eax
jmp 0x5dbc3d
mov eax, dword [edx]
shr eax, 2
add edx, eax
jmp 0x5dbc3d
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5dbc30
sub eax, esi
lea edx, [edx + eax + 1]
mov al, byte [ebp - 0x20d]
mov dword [ebp - 0x218], edx
cmp al, 0x69
jne 0x5dbc55
add edx, 3
and edx, 0xfffffffc
jmp 0x5dbc69
cmp al, 0x63
je 0x5dbc6f
cmp al, 0x64
jne 0x5dbc65
add edx, 7
and edx, 0xfffffff8
jmp 0x5dbc69
inc edx
and edx, 0xfffffffe
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x5dbc86
test byte [eax], bl
jne 0x5dbc86
mov dl, 1
xor ebx, ebx
jmp 0x5dbd29
mov eax, dword [ebp - 0x230]
xor dl, dl
cmp byte [ebp - 0x20f], dl
je 0x5dbcbe
cmp eax, 4
jne 0x5dbca1
mov ebx, dword [edi]
add edi, eax
jmp 0x5dbd03
cmp eax, 2
jne 0x5dbcb3
movsx ebx, word [edi]
and ebx, 0xffff
add edi, eax
jmp 0x5dbd03
movsx ebx, byte [edi]
and ebx, 0xff
jmp 0x5dbcc0
mov ebx, edi
test eax, eax
jle 0x5dbcc8
add edi, eax
jmp 0x5dbd03
cmp eax, 0xffffffff
jne 0x5dbcf1
mov al, byte [edi]
cmp al, 1
jne 0x5dbcdb
movzx eax, byte [edi + 1]
add edi, eax
jmp 0x5dbd03
test al, 1
je 0x5dbce8
movzx eax, al
shr eax, 1
add edi, eax
jmp 0x5dbd03
mov eax, dword [edi]
shr eax, 2
add edi, eax
jmp 0x5dbd03
mov eax, edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5dbcf6
sub eax, esi
lea edi, [edi + eax + 1]
mov al, byte [ebp - 0x20d]
cmp al, 0x69
jne 0x5dbd15
add edi, 3
and edi, 0xfffffffc
jmp 0x5dbd29
cmp al, 0x63
je 0x5dbd29
cmp al, 0x64
jne 0x5dbd25
add edi, 7
and edi, 0xfffffff8
jmp 0x5dbd29
inc edi
and edi, 0xfffffffe
mov eax, dword [ebp - 0x234]
add eax, eax
mov dword [ebp - 0x234], eax
cmp eax, 0x100
mov eax, 1
jne 0x5dbd67
cmp dword [ebp - 0x228], 0
je 0x5dbd52
add dword [ebp - 0x228], eax
cmp dword [ebp - 0x224], 0
je 0x5dbd61
add dword [ebp - 0x224], eax
mov dword [ebp - 0x234], eax
cmp byte [ebp - 0x20e], 0
je 0x5dbd7f
test dl, dl
jne 0x5dbdb9
mov dword [ebp - 0x214], eax
jmp 0x5dbe9e
test dl, dl
jne 0x5dbde5
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x20c]
mov byte [ebp - 0x1fc], dl
lea edx, [ebp - 0x20c]
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f4], ebx
mov word [ebp - 0x68], 0
mov ecx, dword [eax]
push edx
call ecx
add esp, 4
test eax, eax
jne 0x5dbdf4
mov eax, dword [ebp - 0x248]
inc eax
mov dword [ebp - 0x248], eax
cmp eax, dword [ebp - 0x240]
jge 0x5dbe0a
mov ebx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x228]
mov edx, dword [ebp - 0x218]
jmp 0x5dbb81
mov dword [ebp - 0x214], 0xffffffff
jmp 0x5dbe9e
xor edx, edx
test eax, eax
setns dl
lea edx, [edx + edx - 1]
mov dword [ebp - 0x214], edx
jmp 0x5dbe9e
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x23c]
cmp eax, ecx
je 0x5dbe2d
xor edx, edx
cmp eax, ecx
setge dl
lea edx, [edx + edx - 1]
mov dword [ebp - 0x214], edx
jmp 0x5dbe9e
mov ecx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x250]
cmp ecx, eax
je 0x5dbe50
xor edx, edx
cmp ecx, eax
setge dl
lea edx, [edx + edx - 1]
mov dword [ebp - 0x214], edx
jmp 0x5dbe9e
lea edx, [ecx + ecx]
xor eax, eax
test edx, edx
jle 0x5dbe9e
mov edi, dword [ebp - 0x220]
mov esi, dword [ebp - 0x21c]
lea ecx, [edi + 0x10]
add esi, 0x10
sub esi, ecx
lea ecx, [ecx]
mov ebx, dword [ecx]
cmp ebx, dword [esi + ecx]
jne 0x5dbe81
inc eax
add ecx, 4
cmp eax, edx
jl 0x5dbe70
jmp 0x5dbe9e
mov edx, dword [edi + eax*4 + 0x10]
mov ecx, dword [ebp - 0x21c]
xor ebx, ebx
cmp edx, dword [ecx + eax*4 + 0x10]
setge bl
lea ebx, [ebx + ebx - 1]
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x238]
pop edi
pop esi
pop ebx
cmp eax, dword [ecx + 0x14]
je 0x5dbebd
mov edx, eax
push edx
call sym.postgres.exe_pfree
add esp, 4
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x238]
cmp eax, dword [ecx + 0x18]
je 0x5dbed9
mov edx, eax
push edx
call sym.postgres.exe_pfree
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x214]
xor ecx, ebp
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret