Function at 0x4edb30
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
cmp byte [esi], 0
push ebx
push ebp
push edi
jne 0x4ede24
mov al, byte [esi + 6]
mov ebp, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
mov byte [esp + 0xf], al
movzx eax, al
movzx ecx, byte [eax + ebp]
lea ebx, [eax + ebp]
mov eax, esi
mov dword [esp + 0x18], edi
call fcn.004eda50
test eax, eax
je 0x4edb8a
push 0x58e0b0
push 0xde2f
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004e01f0
add esp, 0x10
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
movzx ecx, word [edi + 0x20]
mov al, byte [esi + 7]
dec cx
mov word [esi + 0x14], cx
movzx ecx, byte [esp + 0xf]
movzx dx, al
add dx, cx
add dx, 8
movzx edx, dx
movzx ecx, dx
mov byte [esi + 1], 0
mov edi, dword [edi + 0x24]
mov word [esi + 0xe], dx
movzx edx, al
mov dword [esp + 0x14], edi
add edi, ebp
mov dword [esi + 0x3c], edi
add edx, ebp
mov dword [esi + 0x44], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
add ecx, ebp
mov dword [esi + 0x40], ecx
movzx edi, byte [ebx + 5]
movzx eax, byte [ebx + 6]
shl edi, 8
or edi, eax
movzx ax, byte [ebx + 3]
mov dword [esp + 0x24], ecx
movzx ecx, byte [ebx + 4]
shl ax, 8
or ax, cx
mov word [esi + 0x12], ax
mov edx, dword [edx + 0x20]
movzx ecx, ax
sub edx, 8
mov eax, 0xaaaaaaab
mul edx
dec edi
and edi, 0xffff
shr edx, 2
inc edi
cmp ecx, edx
jbe 0x4edc3f
push 0x58e0b0
push 0xde41
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004e01f0
add esp, 0x10
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x20]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x14]
add eax, 0xfffffffc
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
test dword [eax + 0x18], 0x10000000
je 0x4edcea
cmp byte [esi + 5], 0
jne 0x4edc73
dec dword [esp + 0x10]
mov dword [esp + 0x20], 0
test ecx, ecx
jle 0x4edce0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov ax, word [edx]
mov ch, al
mov cl, ah
movzx eax, cx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
jl 0x4eddaa
cmp eax, dword [esp + 0x10]
jg 0x4eddaa
mov edx, dword [esi + 0x4c]
add eax, ebp
push eax
push esi
call edx
movzx eax, ax
add eax, dword [esp + 0x2c]
add esp, 8
cmp eax, dword [esp + 0x14]
jg 0x4edd9a
mov eax, dword [esp + 0x20]
movzx ecx, word [esi + 0x12]
add dword [esp + 0x18], 2
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x4edc87
cmp byte [esi + 5], 0
jne 0x4edcea
inc dword [esp + 0x10]
movzx dx, byte [ebx + 1]
movzx ax, byte [ebx + 2]
movzx ebx, byte [ebx + 7]
shl dx, 8
or dx, ax
movzx eax, dx
add ebx, edi
mov dword [esp + 0x20], ebx
test ax, ax
jbe 0x4edd80
lea ecx, [ecx]
movzx eax, ax
cmp eax, dword [esp + 0x1c]
jl 0x4eddf4
cmp eax, dword [esp + 0x10]
jg 0x4eddf4
movzx ecx, byte [eax + ebp]
movzx dx, byte [eax + ebp + 1]
movzx di, byte [eax + ebp + 3]
shl cx, 8
or cx, dx
movzx edx, cx
movzx ecx, byte [eax + ebp + 2]
shl cx, 8
or cx, di
movzx ecx, cx
test dx, dx
jbe 0x4edd67
movzx edi, cx
movzx ebx, dx
lea edi, [edi + eax + 3]
cmp ebx, edi
jle 0x4eddcf
mov ebx, dword [esp + 0x20]
movzx ecx, cx
add eax, ecx
cmp eax, dword [esp + 0x14]
jg 0x4eddcf
add ebx, ecx
mov dword [esp + 0x20], ebx
movzx eax, dx
test dx, dx
ja 0x4edd10
cmp ebx, dword [esp + 0x14]
jle 0x4ede19
pop edi
pop ebp
mov eax, 0xde8b
pop ebx
add esp, 0x1c
jmp fcn.004eb240
pop edi
pop ebp
mov eax, 0xde62
pop ebx
add esp, 0x1c
jmp fcn.004eb240
push 0x58e0b0
push 0xde5d
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004e01f0
add esp, 0x10
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
push 0x58e0b0
push 0xde7d
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004e01f0
add esp, 0x10
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
push 0x58e0b0
push 0xde76
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004e01f0
add esp, 0x10
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
sub ebx, dword [esp + 0x1c]
mov byte [esi], 1
mov word [esi + 0x10], bx
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret