Function at 0x10052460
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
mov ebp, ecx
mov ecx, 0x101080ea
push edi
mov edi, edx
mov dword [esp + 0x20], ebp
call fcn.100de193
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 0x10052733
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 0x10052502
push 0x100f9e4c
push 0x10002
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
test edi, edi
je 0x10052733
movzx eax, byte [edi + ebx]
movzx ebp, byte [edi + ebx + 1]
shl eax, 8
or ebp, eax
cmp ebp, esi
jle 0x10052547
push 0x100f9e4c
push 0x10005
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
test ebp, ebp
je 0x10052560
cmp byte [ebx + ebp], 0
jne 0x10052733
cmp byte [ebx + ebp + 1], 0
jne 0x10052733
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 0x100525cc
push 0x100f9e4c
push 0x1000d
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
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 0x100526d5
cmp eax, ebp
jbe 0x1005260a
push 0x100f9e4c
push 0x10010
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
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 0x10052651
push 0x100f9e4c
push 0x10012
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
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 0x10052727
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 0x10052706
mov eax, dword [esp + 0x24]
add eax, ecx
shr eax, 8
mov byte [edx], al
mov al, byte [esp + 0x24]
add al, cl
jmp 0x10052715
cmp eax, dword [esp + 0x1c]
jle 0x1005267a
push 0x100f9e4c
push 0x10016
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
cmp ecx, ebp
jae 0x10052718
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 0x100526b2
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx + 7]
jmp 0x1005285b
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 0x10052851
mov ecx, dword [esp + 0x14]
mov edi, edx
add edi, ecx
jmp 0x10052764
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 0x100528d0
cmp esi, dword [esp + 0x38]
jg 0x100528d0
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 0x100528a5
lea eax, [esi + ebp]
cmp eax, dword [esp + 0x1c]
jg 0x100528a5
mov eax, ebx
mov byte [edi + 1], bl
sar eax, 8
cmp dword [esp + 0x24], 0
mov byte [edi], al
jne 0x1005281c
cmp ebx, esi
je 0x10052833
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 0x10052820
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 0x10052760
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 0x100528fb
push 0x100f9e4c
push 0x1004d
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push 0x100f9e4c
push 0x10038
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push 0x100f9e4c
push 0x10032
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10042300
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