Function at 0x467720
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.004519e0
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 0x46776e
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.004676c0
add esp, 0xc
test eax, eax
je 0x467791
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.00457430
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
je 0x4677d5
cmp eax, 7
jne 0x4677b4
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.004673d0
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.004585f0
add esp, 4
cmp eax, ebp
je 0x467811
push eax
lea edx, [esp + 0x50]
push str.sqlite3BtreeInitPage___returns_error_code__d
push edx
push ebx
call fcn.004673d0
mov eax, dword [esp + 0x24]
push eax
call fcn.004574d0
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 0x4679ac
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4679ac
push ebp
push esi
lea ecx, [esp + 0x54]
push str.On_tree_page__d_cell__d:
push ecx
push 0x64
call fcn.004519e0
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.00458200
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x5c]
add esp, 0x20
mov dl, byte [ecx + 2]
test dl, dl
jne 0x46788f
mov edx, dword [esp + 0x34]
add eax, edx
mov edx, dword [esp + 0x46]
and edx, 0xffff
cmp eax, edx
jbe 0x467918
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.00454fc0
mov ecx, dword [esp + 0x14]
mov edi, eax
add esp, 4
mov al, byte [ecx + 0x13]
test al, al
je 0x4678f5
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.00467440
add esp, 0x14
jmp 0x4678fc
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.004674d0
mov ecx, dword [esp + 0x28]
add esp, 0x14
jmp 0x46791f
mov ebx, dword [esp + 0xb4]
mov al, byte [ecx + 3]
test al, al
jne 0x46798b
push esi
call fcn.00454fc0
mov esi, eax
mov eax, dword [esp + 0x14]
add esp, 4
mov cl, byte [eax + 0x13]
test cl, cl
je 0x467955
mov edx, dword [esp + 0xb8]
lea ecx, [esp + 0x4c]
push ecx
push edx
push 5
push esi
push ebx
call fcn.00467440
add esp, 0x14
lea eax, [esp + 0x4c]
push eax
push esi
push ebx
call fcn.00467720
add esp, 0xc
mov esi, eax
test ebp, ebp
jle 0x467983
cmp esi, dword [esp + 0x24]
je 0x467983
lea ecx, [esp + 0x4c]
push str.Child_page_depth_differs
push ecx
push ebx
call fcn.004673d0
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 0x467824
mov al, byte [ecx + 3]
test al, al
jne 0x467a09
xor eax, eax
mov al, byte [ecx + 5]
mov ecx, dword [ecx + 0x40]
lea edx, [eax + ecx + 8]
push edx
call fcn.00454fc0
mov ebp, eax
push esi
lea eax, [esp + 0x54]
push str.On_page__d_at_right_child:
push eax
push 0x64
call fcn.004519e0
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov al, byte [ecx + 0x13]
test al, al
je 0x4679f6
push 0
push esi
push 5
push ebp
push ebx
call fcn.00467440
add esp, 0x14
lea edx, [esp + 0x4c]
push edx
push ebp
push ebx
call fcn.00467720
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.00455d40
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x467a41
mov eax, dword [esp + 0xb4]
mov dword [eax + 0x18], 1
jmp 0x467c7f
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 0x467a78
mov ecx, dword [esp + 0xb4]
push 0
push esi
push str.Corruption_detected_in_header_on_page__d
push 0
push ecx
call fcn.004673d0
add esp, 0x14
jmp 0x467c76
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 0x467b76
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 0x467b08
mov eax, dword [esp + 0x14]
lea edx, [esi + ebx]
push edx
push eax
call fcn.00464330
add esp, 8
and eax, 0xffff
lea eax, [eax + esi - 1]
cmp eax, edi
jge 0x467b2c
test esi, esi
jl 0x467b2c
cmp eax, esi
jl 0x467b52
mov cl, byte [eax + ebp]
inc cl
mov byte [eax + ebp], cl
dec eax
cmp eax, esi
jge 0x467b1d
jmp 0x467b52
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.004673d0
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 0x467ae1
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 0x467c05
mov edi, dword [esp + 0x18]
cmp esi, edi
jge 0x467c09
cmp dword [esp + 0x10], 0x2710
jge 0x467c09
xor eax, eax
mov ah, byte [ebx + esi + 2]
mov al, byte [ebx + esi + 3]
lea eax, [eax + esi - 1]
cmp eax, edi
jge 0x467bc9
test esi, esi
jl 0x467bc9
cmp eax, esi
jl 0x467beb
mov cl, byte [eax + ebp]
inc cl
mov byte [eax + ebp], cl
dec eax
cmp eax, esi
jge 0x467bba
jmp 0x467beb
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.004673d0
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 0x467b8e
jmp 0x467c09
mov edi, dword [esp + 0x18]
xor esi, esi
xor eax, eax
test edi, edi
jle 0x467c47
mov cl, byte [eax + ebp]
test cl, cl
jne 0x467c1b
inc esi
jmp 0x467c20
cmp cl, 1
jg 0x467c27
inc eax
cmp eax, edi
jl 0x467c11
jmp 0x467c47
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.004673d0
add esp, 0x14
mov ecx, dword [esp + 0x20]
xor eax, eax
mov al, byte [ecx + ebx + 7]
cmp esi, eax
je 0x467c76
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.004673d0
add esp, 0x18
push ebp
call fcn.00455d70
add esp, 4
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004574d0
mov edx, dword [esp + 0x28]
add esp, 4
pop edi
pop esi
pop ebp
lea eax, [edx + 1]
pop ebx
add esp, 0xa0
ret