Function at 0x10051750
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
mov ebp, ecx
mov ecx, 0x10103106
push edi
mov edi, edx
mov dword [esp + 0x20], ebp
call fcn.100d96c4
movzx eax, word [ebp + 0x12]
mov ebx, dword [ebp + 0x38]
mov edx, ebx
movzx esi, byte [ebp + 9]
movzx ecx, word [ebp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x18], ecx
lea ecx, [esi + ebx]
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], ebx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x1c], eax
movzx eax, byte [ecx + 7]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
cmp eax, edi
jg 0x10051a23
movzx edi, byte [ecx + 1]
movzx eax, byte [ecx + 2]
mov esi, dword [esp + 0x1c]
shl edi, 8
add esi, 0xfffffffc
or edi, eax
cmp edi, esi
jle 0x100517f2
push 0x100f0d34
push 0xfcb4
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
test edi, edi
je 0x10051a23
movzx eax, byte [edi + ebx]
movzx ebp, byte [edi + ebx + 1]
shl eax, 8
or ebp, eax
cmp ebp, esi
jle 0x10051837
push 0x100f0d34
push 0xfcb7
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
test ebp, ebp
je 0x10051850
cmp byte [ebx + ebp], 0
jne 0x10051a23
cmp byte [ebx + ebp + 1], 0
jne 0x10051a23
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], 0
lea eax, [edx + esi*2]
movzx edx, byte [edi + ebx + 2]
movzx esi, byte [ecx + 5]
add eax, ebx
mov dword [esp + 0x34], eax
movzx eax, byte [edi + ebx + 3]
shl edx, 8
or edx, eax
shl esi, 8
movzx eax, byte [ecx + 6]
or esi, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
cmp esi, edi
jb 0x100518bc
push 0x100f0d34
push 0xfcbf
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
lea eax, [edi + edx]
mov dword [esp + 0x38], eax
test ebp, ebp
je 0x100519c5
cmp eax, ebp
jbe 0x100518fa
push 0x100f0d34
push 0xfcc2
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
movzx ecx, byte [ebx + ebp + 2]
movzx eax, byte [ebx + ebp + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x30], ecx
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x1c]
jle 0x10051941
push 0x100f0d34
push 0xfcc4
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, ebp
lea esi, [edx + ecx]
sub eax, edx
sub eax, edi
push eax
mov eax, dword [esp + 0x3c]
add eax, ebx
push eax
lea eax, [esi + edi]
add eax, ebx
push eax
call sub.VCRUNTIME140.dll_memmove
mov edx, esi
add esp, 0xc
mov esi, dword [esp + 0x28]
mov dword [esp + 0x24], edx
mov eax, edi
lea ebx, [esi + edx]
sub eax, esi
mov dword [esp + 0x38], ebx
mov esi, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x2c]
add eax, esi
push eax
lea eax, [ebx + esi]
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x20]
add esp, 0xc
lea edx, [eax + esi]
cmp edx, dword [esp + 0x34]
jae 0x10051a17
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, edi
jae 0x100519f6
mov eax, dword [esp + 0x24]
add eax, ecx
shr eax, 8
mov byte [edx], al
mov al, byte [esp + 0x24]
add al, cl
jmp 0x10051a05
cmp eax, dword [esp + 0x1c]
jle 0x1005196a
push 0x100f0d34
push 0xfcc8
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
cmp ecx, ebp
jae 0x10051a08
lea eax, [ecx + ebx]
shr eax, 8
mov byte [edx], al
lea eax, [ecx + ebx]
mov byte [edx + 1], al
add edx, 2
cmp edx, esi
jb 0x100519a2
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx + 7]
jmp 0x10051b4b
cmp dword [esp + 0x18], 0
mov esi, dword [esp + 0x1c]
mov ebx, esi
mov dword [esp + 0x34], 0
lea eax, [esi - 4]
mov dword [esp + 0x38], eax
jbe 0x10051b41
mov ecx, dword [esp + 0x14]
mov edi, edx
add edi, ecx
jmp 0x10051a54
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
movzx esi, byte [edi]
movzx eax, byte [edi + 1]
shl esi, 8
or esi, eax
lea eax, [ecx + ebp*2]
mov ebp, dword [esp + 0x20]
cmp esi, eax
jb 0x10051bc0
cmp esi, dword [esp + 0x38]
jg 0x10051bc0
lea eax, [esi + edx]
push eax
mov eax, dword [ebp + 0x4c]
push ebp
call eax
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x18]
movzx ebp, ax
sub ebx, ebp
lea eax, [ecx + edx*2]
cmp ebx, eax
jl 0x10051b95
lea eax, [esi + ebp]
cmp eax, dword [esp + 0x1c]
jg 0x10051b95
mov eax, ebx
mov byte [edi + 1], bl
sar eax, 8
cmp dword [esp + 0x24], 0
mov byte [edi], al
jne 0x10051b0c
cmp ebx, esi
je 0x10051b23
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x34]
mov eax, dword [eax]
mov edx, dword [eax + 0xd0]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
movzx ecx, byte [eax + 5]
movzx eax, byte [eax + 6]
shl ecx, 8
or ecx, eax
mov eax, ebp
sub eax, ecx
add eax, ebx
push eax
mov eax, dword [esp + 0x14]
add eax, ecx
push eax
lea eax, [ecx + edx]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x28], eax
jmp 0x10051b10
mov eax, dword [esp + 0x28]
add eax, esi
push ebp
push eax
mov eax, dword [esp + 0x18]
add eax, ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x34]
add edi, 2
mov edx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, dword [esp + 0x18]
jl 0x10051a50
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
xor al, al
mov byte [ecx + 7], 0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
movzx eax, al
lea edi, [edx + ebp*2]
mov edx, dword [esp + 0x20]
sub eax, edi
add eax, ebx
cmp eax, dword [edx + 0x14]
je 0x10051beb
push 0x100f0d34
push 0xfcff
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push 0x100f0d34
push 0xfcea
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push 0x100f0d34
push 0xfce4
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10041660
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov byte [ecx + 6], bl
mov eax, ebx
sar eax, 8
sub ebx, edi
mov byte [ecx + 5], al
lea eax, [edi + esi]
push ebx
push 0
push eax
mov word [ecx + 1], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret