Function at 0x43aec0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x14]
push ebx
mov ebx, dword [eax + 0xc]
push esi
push edi
mov edi, dword [ecx + 0x18]
mov dword [ebp - 4], eax
mov byte [edi + 4], 0
mov eax, dword [eax + 0x14]
push eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], 0
call sym.postgres.exe_pg_detoast_datum_packed
mov ecx, dword [ebp - 4]
mov esi, eax
mov eax, dword [ecx + 8]
add esp, 4
test eax, eax
je 0x43af0d
push eax
call sym.postgres.exe_pg_detoast_datum
add esp, 4
mov dword [ebp - 8], eax
mov cl, byte [esi]
cmp cl, 1
jne 0x43af1d
movzx eax, byte [esi + 1]
sub eax, 2
jmp 0x43af32
test cl, 1
je 0x43af2a
movzx eax, cl
shr eax, 1
dec eax
jmp 0x43af32
mov eax, dword [esi]
shr eax, 2
sub eax, 4
lea edx, [eax + ebx]
mov dword [ebp - 0x10], edx
cmp cl, 1
jne 0x43af46
movzx eax, byte [esi + 1]
sub eax, 2
jmp 0x43af5b
test cl, 1
je 0x43af53
movzx eax, cl
shr eax, 1
dec eax
jmp 0x43af5b
mov eax, dword [esi]
shr eax, 2
sub eax, 4
test eax, eax
jne 0x43af73
test ebx, ebx
jle 0x43af73
mov eax, dword [ebp - 8]
lea edx, [eax + 4]
mov dword [ebp - 0xc], edx
mov dword [edi], eax
jmp 0x43b01a
mov eax, dword [sym.postgres.exe_CurrentMemoryContext]
lea edi, [edx + 4]
push edi
push eax
call sym.postgres.exe_MemoryContextAlloc
mov edx, dword [ebp - 0x14]
mov ebx, eax
lea ecx, [edi*4]
add esp, 8
lea edi, [ebx + 4]
mov dword [ebx], ecx
mov dword [ebp - 0xc], edi
test edx, edx
je 0x43afb1
push edx
mov edx, dword [ebp - 8]
add edx, 4
push edx
push edi
call sub.MSVCR100.dll_memcpy
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov cl, byte [esi]
cmp cl, 1
jne 0x43afc1
movzx eax, byte [esi + 1]
sub eax, 2
jmp 0x43afd6
test cl, 1
je 0x43afce
movzx eax, cl
shr eax, 1
dec eax
jmp 0x43afd6
mov eax, dword [esi]
shr eax, 2
sub eax, 4
test eax, eax
je 0x43b015
cmp cl, 1
jne 0x43afe8
movzx eax, byte [esi + 1]
sub eax, 2
jmp 0x43affd
test cl, 1
je 0x43aff5
movzx eax, cl
shr eax, 1
dec eax
jmp 0x43affd
mov eax, dword [esi]
shr eax, 2
sub eax, 4
test cl, 1
lea ecx, [esi + 1]
jne 0x43b008
lea ecx, [esi + 4]
push eax
push ecx
add edi, edx
push edi
call sub.MSVCR100.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov dword [eax], ebx
mov edx, dword [ebp - 4]
xor ecx, ecx
mov al, 1
mov dword [ebp - 0x14], ecx
cmp dword [edx + 4], ecx
jle 0x43b1de
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov eax, dword [ebp - 8]
movzx esi, word [eax + ecx + 6]
mov eax, dword [eax + ecx + 0x2c]
push eax
mov dword [ebp - 0x18], esi
call sym.postgres.exe_pg_detoast_datum_packed
mov cl, byte [eax]
add esp, 4
cmp cl, 1
jne 0x43b05d
movzx edi, byte [eax + 1]
sub edi, 2
jmp 0x43b072
test cl, 1
je 0x43b06a
movzx edi, cl
shr edi, 1
dec edi
jmp 0x43b072
mov edi, dword [eax]
shr edi, 2
sub edi, 4
cmp esi, 0xa
jbe 0x43b0b9
add esi, 0xfff6
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x10]
mov edx, edi
cmp edi, esi
jl 0x43b08b
mov edx, esi
test cl, 1
lea ecx, [eax + 1]
jne 0x43b096
lea ecx, [eax + 4]
mov eax, edi
cmp edi, esi
jl 0x43b09e
mov eax, esi
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx + 0xc]
push ebx
push edx
push ecx
mov ecx, dword [ebp - 0xc]
push eax
push ecx
call sym.postgres.exe_varstr_cmp
add esp, 0x14
jmp 0x43b135
mov edx, dword [ebp - 0x10]
cmp edi, edx
jge 0x43b0c2
mov edx, edi
lea esi, [eax + 1]
test cl, 1
jne 0x43b0cd
lea esi, [eax + 4]
mov ecx, dword [ebp - 0xc]
cmp edx, 4
jb 0x43b0e9
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x43b0ed
sub edx, 4
add esi, 4
add ecx, 4
cmp edx, 4
jae 0x43b0d5
test edx, edx
je 0x43b130
movzx eax, byte [ecx]
movzx ebx, byte [esi]
sub eax, ebx
jne 0x43b128
cmp edx, 1
jbe 0x43b130
movzx eax, byte [ecx + 1]
movzx ebx, byte [esi + 1]
sub eax, ebx
jne 0x43b128
cmp edx, 2
jbe 0x43b130
movzx eax, byte [ecx + 2]
movzx ebx, byte [esi + 2]
sub eax, ebx
jne 0x43b128
cmp edx, 3
jbe 0x43b130
movzx eax, byte [ecx + 3]
movzx ecx, byte [esi + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x43b132
xor eax, eax
mov esi, dword [ebp - 0x10]
test eax, eax
jne 0x43b149
cmp edi, esi
jle 0x43b142
or eax, 0xffffffff
jmp 0x43b149
jge 0x43b149
mov eax, 1
movzx ecx, word [ebp - 0x18]
dec ecx
cmp ecx, 4
ja case.default.0x43b153
jmp dword [ecx*4 + 0x43b1f0]
test eax, eax
sets al
jmp 0x43b17b
test eax, eax
setle al
jmp 0x43b17b
test eax, eax
sete al
jmp 0x43b17b
test eax, eax
setns al
jmp 0x43b17b
test eax, eax
setg al
test al, al
je 0x43b1de
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
add dword [ebp - 8], 0x30
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [edx + 4]
jl 0x43b030
xor ecx, ecx
test al, al
setne cl
pop edi
pop esi
pop ebx
mov eax, ecx
mov esp, ebp
pop ebp
ret
push 0x6afa2c
push 0x25c
push str.src_backend_access_spgist_spgtextproc.c
call sym.postgres.exe_elog_start
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
lea eax, [eax + eax*2]
add eax, eax
movzx eax, word [edx + eax*8 + 6]
push eax
push str.unrecognized_strategy_number:__d
push 0x14
call sym.postgres.exe_elog_finish
add esp, 0x18
xor al, al
xor ecx, ecx
test al, al
setne cl
pop edi
pop esi
pop ebx
mov eax, ecx
mov esp, ebp
pop ebp
ret