Function at 0x470180
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.0045a440
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 0x4701ce
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.00470120
add esp, 0xc
test eax, eax
je 0x4701f1
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.0045fe90
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
je 0x470235
cmp eax, 7
jne 0x470214
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.0046fe30
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.00461050
add esp, 4
cmp eax, ebp
je 0x470271
push eax
lea edx, [esp + 0x50]
push str.sqlite3BtreeInitPage___returns_error_code__d
push edx
push ebx
call fcn.0046fe30
mov eax, dword [esp + 0x24]
push eax
call fcn.0045ff30
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 0x47040c
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x47040c
push ebp
push esi
lea ecx, [esp + 0x54]
push str.On_tree_page__d_cell__d:
push ecx
push 0x64
call fcn.0045a440
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.00460c60
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x5c]
add esp, 0x20
mov dl, byte [ecx + 2]
test dl, dl
jne 0x4702ef
mov edx, dword [esp + 0x34]
add eax, edx
mov edx, dword [esp + 0x46]
and edx, 0xffff
cmp eax, edx
jbe 0x470378
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.0045da30
mov ecx, dword [esp + 0x14]
mov edi, eax
add esp, 4
mov al, byte [ecx + 0x13]
test al, al
je 0x470355
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.0046fea0
add esp, 0x14
jmp 0x47035c
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.0046ff30
mov ecx, dword [esp + 0x28]
add esp, 0x14
jmp 0x47037f
mov ebx, dword [esp + 0xb4]
mov al, byte [ecx + 3]
test al, al
jne 0x4703eb
push esi
call fcn.0045da30
mov esi, eax
mov eax, dword [esp + 0x14]
add esp, 4
mov cl, byte [eax + 0x13]
test cl, cl
je 0x4703b5
mov edx, dword [esp + 0xb8]
lea ecx, [esp + 0x4c]
push ecx
push edx
push 5
push esi
push ebx
call fcn.0046fea0
add esp, 0x14
lea eax, [esp + 0x4c]
push eax
push esi
push ebx
call fcn.00470180
add esp, 0xc
mov esi, eax
test ebp, ebp
jle 0x4703e3
cmp esi, dword [esp + 0x24]
je 0x4703e3
lea ecx, [esp + 0x4c]
push str.Child_page_depth_differs
push ecx
push ebx
call fcn.0046fe30
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 0x470284
mov al, byte [ecx + 3]
test al, al
jne 0x470469
xor eax, eax
mov al, byte [ecx + 5]
mov ecx, dword [ecx + 0x40]
lea edx, [eax + ecx + 8]
push edx
call fcn.0045da30
mov ebp, eax
push esi
lea eax, [esp + 0x54]
push str.On_page__d_at_right_child:
push eax
push 0x64
call fcn.0045a440
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov al, byte [ecx + 0x13]
test al, al
je 0x470456
push 0
push esi
push 5
push ebp
push ebx
call fcn.0046fea0
add esp, 0x14
lea edx, [esp + 0x4c]
push edx
push ebp
push ebx
call fcn.00470180
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.0045e7b0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4704a1
mov eax, dword [esp + 0xb4]
mov dword [eax + 0x18], 1
jmp 0x4706df
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 0x4704d8
mov ecx, dword [esp + 0xb4]
push 0
push esi
push str.Corruption_detected_in_header_on_page__d
push 0
push ecx
call fcn.0046fe30
add esp, 0x14
jmp 0x4706d6
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 0x4705d6
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 0x470568
mov eax, dword [esp + 0x14]
lea edx, [esi + ebx]
push edx
push eax
call fcn.0046cd90
add esp, 8
and eax, 0xffff
lea eax, [eax + esi - 1]
cmp eax, edi
jge 0x47058c
test esi, esi
jl 0x47058c
cmp eax, esi
jl 0x4705b2
mov cl, byte [eax + ebp]
inc cl
mov byte [eax + ebp], cl
dec eax
cmp eax, esi
jge 0x47057d
jmp 0x4705b2
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.0046fe30
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 0x470541
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 0x470665
mov edi, dword [esp + 0x18]
cmp esi, edi
jge 0x470669
cmp dword [esp + 0x10], 0x2710
jge 0x470669
xor eax, eax
mov ah, byte [ebx + esi + 2]
mov al, byte [ebx + esi + 3]
lea eax, [eax + esi - 1]
cmp eax, edi
jge 0x470629
test esi, esi
jl 0x470629
cmp eax, esi
jl 0x47064b
mov cl, byte [eax + ebp]
inc cl
mov byte [eax + ebp], cl
dec eax
cmp eax, esi
jge 0x47061a
jmp 0x47064b
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.0046fe30
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 0x4705ee
jmp 0x470669
mov edi, dword [esp + 0x18]
xor esi, esi
xor eax, eax
test edi, edi
jle 0x4706a7
mov cl, byte [eax + ebp]
test cl, cl
jne 0x47067b
inc esi
jmp 0x470680
cmp cl, 1
jg 0x470687
inc eax
cmp eax, edi
jl 0x470671
jmp 0x4706a7
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.0046fe30
add esp, 0x14
mov ecx, dword [esp + 0x20]
xor eax, eax
mov al, byte [ecx + ebx + 7]
cmp esi, eax
je 0x4706d6
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.0046fe30
add esp, 0x18
push ebp
call fcn.0045e7e0
add esp, 4
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0045ff30
mov edx, dword [esp + 0x28]
add esp, 4
pop edi
pop esi
pop ebp
lea eax, [edx + 1]
pop ebx
add esp, 0xa0
ret