Function at 0x5052c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xa0
push ebx
push ebp
push esi
mov esi, dword [esp + 0xb4]
push edi
push esi
lea eax, [esp + 0x50]
push str.Page__d:
push eax
push 0x64
call fcn.004ef5a0
mov ebx, dword [esp + 0xc4]
xor edi, edi
add esp, 0x10
mov ebp, dword [ebx]
test esi, esi
mov di, word [ebp + 0x18]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], edi
jne 0x50530e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa0
ret
mov ecx, dword [esp + 0xbc]
push ecx
push esi
push ebx
call fcn.00505260
add esp, 0xc
test eax, eax
je 0x505331
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa0
ret
lea edx, [esp + 0x14]
push 0
push edx
push esi
push ebp
call fcn.004f4fd0
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
je 0x505375
cmp eax, 7
jne 0x505354
mov dword [ebx + 0x18], 1
push eax
lea eax, [esp + 0x50]
push str.unable_to_get_the_page._error_code_d
push eax
push ebx
call fcn.00504f70
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004f6190
add esp, 4
cmp eax, ebp
je 0x5053b1
push eax
lea edx, [esp + 0x50]
push str.sqlite3BtreeInitPage___returns_error_code__d
push edx
push ebx
call fcn.00504f70
mov eax, dword [esp + 0x24]
push eax
call fcn.004f5070
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
cmp word [ecx + 0x10], 0
jbe 0x50554c
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x50554c
push ebp
push esi
lea ecx, [esp + 0x54]
push str.On_tree_page__d_cell__d:
push ecx
push 0x64
call fcn.004ef5a0
mov eax, dword [esp + 0x28]
xor edx, edx
mov ecx, dword [eax + 0x40]
mov dx, word [eax + 0xc]
mov esi, ecx
add esi, edx
xor edx, edx
mov dl, byte [esi + ebp*2 + 1]
mov dh, byte [esi + ebp*2]
lea esi, [esi + ebp*2]
xor esi, esi
mov si, word [eax + 0x12]
and edx, esi
add edx, ecx
lea ecx, [esp + 0x40]
mov esi, edx
push ecx
push esi
push eax
call fcn.004f5da0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x5c]
add esp, 0x20
mov dl, byte [ecx + 2]
test dl, dl
jne 0x50542f
mov edx, dword [esp + 0x34]
add eax, edx
mov edx, dword [esp + 0x46]
and edx, 0xffff
cmp eax, edx
jbe 0x5054b8
mov ecx, dword [esp + 0x18]
sub eax, edx
xor edx, edx
lea eax, [eax + ecx - 5]
add ecx, 0xfffffffc
div ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
and eax, 0xffff
add eax, esi
push eax
call fcn.004f2b70
mov ecx, dword [esp + 0x14]
mov edi, eax
add esp, 4
mov al, byte [ecx + 0x13]
test al, al
je 0x505495
mov eax, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
lea edx, [esp + 0x4c]
push edx
push eax
push 3
push edi
push ebx
call fcn.00504fe0
add esp, 0x14
jmp 0x50549c
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x4c]
push ecx
push edx
push edi
push 0
push ebx
call fcn.00505070
mov ecx, dword [esp + 0x28]
add esp, 0x14
jmp 0x5054bf
mov ebx, dword [esp + 0xb4]
mov al, byte [ecx + 3]
test al, al
jne 0x50552b
push esi
call fcn.004f2b70
mov esi, eax
mov eax, dword [esp + 0x14]
add esp, 4
mov cl, byte [eax + 0x13]
test cl, cl
je 0x5054f5
mov edx, dword [esp + 0xb8]
lea ecx, [esp + 0x4c]
push ecx
push edx
push 5
push esi
push ebx
call fcn.00504fe0
add esp, 0x14
lea eax, [esp + 0x4c]
push eax
push esi
push ebx
call fcn.005052c0
add esp, 0xc
mov esi, eax
test ebp, ebp
jle 0x505523
cmp esi, dword [esp + 0x24]
je 0x505523
lea ecx, [esp + 0x4c]
push str.Child_page_depth_differs
push ecx
push ebx
call fcn.00504f70
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
xor edx, edx
mov dx, word [ecx + 0x10]
inc ebp
cmp ebp, edx
jl 0x5053c4
mov al, byte [ecx + 3]
test al, al
jne 0x5055a9
xor eax, eax
mov al, byte [ecx + 5]
mov ecx, dword [ecx + 0x40]
lea edx, [eax + ecx + 8]
push edx
call fcn.004f2b70
mov ebp, eax
push esi
lea eax, [esp + 0x54]
push str.On_page__d_at_right_child:
push eax
push 0x64
call fcn.004ef5a0
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov al, byte [ecx + 0x13]
test al, al
je 0x505596
push 0
push esi
push 5
push ebp
push ebx
call fcn.00504fe0
add esp, 0x14
lea edx, [esp + 0x4c]
push edx
push ebp
push ebx
call fcn.005052c0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov ebx, dword [ecx + 0x40]
mov edx, dword [esp + 0x10]
xor eax, eax
mov al, byte [ecx + 5]
xor ecx, ecx
mov cx, word [edx + 0x16]
mov dword [esp + 0x20], eax
push ecx
call fcn.004f38f0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x5055e1
mov eax, dword [esp + 0xb4]
mov dword [eax + 0x18], 1
jmp 0x50581f
mov eax, dword [esp + 0x20]
xor edx, edx
mov dh, byte [eax + ebx + 5]
mov dl, byte [eax + ebx + 6]
and edx, 0xffff
cmp edx, edi
jle 0x505618
mov ecx, dword [esp + 0xb4]
push 0
push esi
push str.Corruption_detected_in_header_on_page__d
push 0
push ecx
call fcn.00504f70
add esp, 0x14
jmp 0x505816
mov ecx, edi
xor eax, eax
sub ecx, edx
lea edi, [edx + ebp]
mov esi, ecx
mov dword [esp + 0x10], 0
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, edx
mov eax, 0x1010101
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
xor edx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x20]
xor eax, eax
mov ah, byte [ecx + ebx + 3]
mov al, byte [ecx + ebx + 4]
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], esi
mov dl, byte [eax + 3]
mov eax, 3
sub eax, edx
test esi, esi
lea eax, [ecx + eax*4]
jle 0x505716
add eax, ebx
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 1]
mov ch, byte [eax]
mov eax, 0x400
mov esi, ecx
cmp esi, edi
jg 0x5056a8
mov eax, dword [esp + 0x14]
lea edx, [esi + ebx]
push edx
push eax
call fcn.00501ed0
add esp, 8
and eax, 0xffff
lea eax, [eax + esi - 1]
cmp eax, edi
jge 0x5056cc
test esi, esi
jl 0x5056cc
cmp eax, esi
jl 0x5056f2
mov cl, byte [eax + ebp]
inc cl
mov byte [eax + ebp], cl
dec eax
cmp eax, esi
jge 0x5056bd
jmp 0x5056f2
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xb4]
push 0
push ecx
push edx
push str.Corruption_detected_in_cell__d_on_page__d
push 0
push eax
call fcn.00504f70
add esp, 0x18
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
inc ecx
add eax, 2
cmp ecx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
jl 0x505681
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x10], 0
mov dh, byte [ecx + ebx + 1]
mov dl, byte [ecx + ebx + 2]
mov esi, edx
test esi, esi
jle 0x5057a5
mov edi, dword [esp + 0x18]
cmp esi, edi
jge 0x5057a9
cmp dword [esp + 0x10], 0x2710
jge 0x5057a9
xor eax, eax
mov ah, byte [ebx + esi + 2]
mov al, byte [ebx + esi + 3]
lea eax, [eax + esi - 1]
cmp eax, edi
jge 0x505769
test esi, esi
jl 0x505769
cmp eax, esi
jl 0x50578b
mov cl, byte [eax + ebp]
inc cl
mov byte [eax + ebp], cl
dec eax
cmp eax, esi
jge 0x50575a
jmp 0x50578b
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
push 0
push eax
push esi
push str.Corruption_detected_in_cell__d_on_page__d
push 0
push ecx
call fcn.00504f70
add esp, 0x18
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dh, byte [ebx + esi]
inc ecx
mov dl, byte [ebx + esi + 1]
mov dword [esp + 0x10], ecx
mov esi, edx
test esi, esi
jg 0x50572e
jmp 0x5057a9
mov edi, dword [esp + 0x18]
xor esi, esi
xor eax, eax
test edi, edi
jle 0x5057e7
mov cl, byte [eax + ebp]
test cl, cl
jne 0x5057bb
inc esi
jmp 0x5057c0
cmp cl, 1
jg 0x5057c7
inc eax
cmp eax, edi
jl 0x5057b1
jmp 0x5057e7
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
push ecx
push eax
push str.Multiple_uses_for_byte__d_of_page__d
push 0
push edx
call fcn.00504f70
add esp, 0x14
mov ecx, dword [esp + 0x20]
xor eax, eax
mov al, byte [ecx + ebx + 7]
cmp esi, eax
je 0x505816
mov edx, dword [esp + 0xb8]
push edx
push eax
mov eax, dword [esp + 0xbc]
push esi
push str.Fragmented_space_is__d_byte_reported_as__d_on_page__d
push 0
push eax
call fcn.00504f70
add esp, 0x18
push ebp
call fcn.004f3920
add esp, 4
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004f5070
mov edx, dword [esp + 0x28]
add esp, 4
pop edi
pop esi
pop ebp
lea eax, [edx + 1]
pop ebx
add esp, 0xa0
ret