Function at 0x44dc00
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov al, byte [esi + 9]
push ebx
mov byte [esp + 7], al
movzx eax, al
push ebp
mov ebp, dword [esi + 0x38]
movzx ecx, byte [eax + ebp]
lea ebx, [eax + ebp]
push edi
mov edi, dword [esi + 0x34]
mov eax, esi
mov dword [esp + 0x18], edi
call fcn.0044db20
test eax, eax
je 0x44dc56
push 0x4b5f24
push 0xf994
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043da20
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
movzx ecx, word [edi + 0x20]
mov al, byte [esi + 0xa]
dec cx
mov word [esi + 0x18], cx
movzx ecx, byte [esp + 0xf]
movzx dx, al
add dx, cx
add dx, 8
movzx edx, dx
movzx ecx, dx
mov byte [esi + 0xc], 0
mov edi, dword [edi + 0x24]
mov word [esi + 0x12], 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 + 0x16], 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 0x44dd10
push 0x4b5f24
push 0xf9a7
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043da20
add esp, 0x14
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 + 0x1c], 0x200000
je 0x44ddb3
cmp byte [esi + 8], 0
jne 0x44dd40
dec dword [esp + 0x10]
mov dword [esp + 0x20], 0
test ecx, ecx
jle 0x44dda9
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 0x44de28
cmp eax, dword [esp + 0x10]
jg 0x44de28
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 0x44ddfe
mov eax, dword [esp + 0x20]
movzx ecx, word [esi + 0x16]
add dword [esp + 0x18], 2
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x44dd54
cmp byte [esi + 8], 0
jne 0x44ddb3
inc dword [esp + 0x10]
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx ecx, byte [ebx + 7]
shl eax, 8
or eax, edx
add ecx, edi
test eax, eax
jle 0x44decb
cmp eax, dword [esp + 0x1c]
jge 0x44de52
push 0x4b5f24
push 0xf9da
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043da20
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
push 0x4b5f24
push 0xf9c8
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043da20
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
push 0x4b5f24
push 0xf9c3
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043da20
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
cmp eax, dword [esp + 0x10]
jg 0x44de8f
jmp 0x44de60
movzx edx, byte [eax + ebp]
movzx edi, byte [eax + ebp + 1]
movzx ebx, byte [eax + ebp + 3]
shl edx, 8
or edx, edi
movzx edi, byte [eax + ebp + 2]
shl edi, 8
or edi, ebx
lea ebx, [edi + eax + 3]
add ecx, edi
cmp edx, ebx
jbe 0x44de9f
cmp edx, dword [esp + 0x10]
mov eax, edx
jle 0x44de60
pop edi
pop ebp
mov eax, 0xf9df
pop ebx
add esp, 0x1c
jmp fcn.0044a520
test edx, edx
jbe 0x44deb3
pop edi
pop ebp
mov eax, 0xf9e9
pop ebx
add esp, 0x1c
jmp fcn.0044a520
add edi, eax
cmp edi, dword [esp + 0x14]
jbe 0x44decb
pop edi
pop ebp
mov eax, 0xf9ed
pop ebx
add esp, 0x1c
jmp fcn.0044a520
cmp ecx, dword [esp + 0x14]
jle 0x44defb
push 0x4b5f24
push 0xf9f9
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043da20
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
sub ecx, dword [esp + 0x1c]
pop edi
pop ebp
mov word [esi + 0x14], cx
mov byte [esi], 1
xor eax, eax
pop ebx
add esp, 0x1c
ret