Function at 0x44e350
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.0044e270
test eax, eax
je 0x44e3a6
push 0x4b600c
push 0xf994
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043e160
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 0x44e460
push 0x4b600c
push 0xf9a7
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043e160
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 0x44e503
cmp byte [esi + 8], 0
jne 0x44e490
dec dword [esp + 0x10]
mov dword [esp + 0x20], 0
test ecx, ecx
jle 0x44e4f9
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 0x44e578
cmp eax, dword [esp + 0x10]
jg 0x44e578
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 0x44e54e
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 0x44e4a4
cmp byte [esi + 8], 0
jne 0x44e503
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 0x44e61b
cmp eax, dword [esp + 0x1c]
jge 0x44e5a2
push 0x4b600c
push 0xf9da
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043e160
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
push 0x4b600c
push 0xf9c8
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043e160
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
push 0x4b600c
push 0xf9c3
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043e160
add esp, 0x14
pop edi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x1c
ret
cmp eax, dword [esp + 0x10]
jg 0x44e5df
jmp 0x44e5b0
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 0x44e5ef
cmp edx, dword [esp + 0x10]
mov eax, edx
jle 0x44e5b0
pop edi
pop ebp
mov eax, 0xf9df
pop ebx
add esp, 0x1c
jmp fcn.0044ac60
test edx, edx
jbe 0x44e603
pop edi
pop ebp
mov eax, 0xf9e9
pop ebx
add esp, 0x1c
jmp fcn.0044ac60
add edi, eax
cmp edi, dword [esp + 0x14]
jbe 0x44e61b
pop edi
pop ebp
mov eax, 0xf9ed
pop ebx
add esp, 0x1c
jmp fcn.0044ac60
cmp ecx, dword [esp + 0x14]
jle 0x44e64b
push 0x4b600c
push 0xf9f9
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043e160
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