Function at 0x1006d880
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0xc]
mov ecx, dword [ebx + 0x38]
movzx esi, byte [ecx + 0x24]
movzx eax, byte [ecx + 0x25]
mov edx, dword [edi + 0x2c]
add ecx, 0x24
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], edx
cmp esi, edx
jb 0x1006d8f3
push 0x100b88d4
push 0xe228
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jbe 0x1006dec2
mov al, byte [ebp + 0x18]
mov byte [esp + 0xe], 0
cmp al, 1
jne 0x1006d92e
mov eax, dword [ebp + 0x14]
cmp eax, edx
ja 0x1006d937
lea edx, [esp + 0xf]
push 0
push edx
mov ecx, edi
call fcn.1006c570
add esp, 8
test eax, eax
jne 0x1006e0a0
cmp byte [esp + 0xf], 2
jmp 0x1006d930
cmp al, 2
jne 0x1006d937
mov byte [esp + 0xe], 1
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0x94]
push eax
cmp edx, dword [ecx + 0x98]
jbe 0x1006d953
call fcn.1003f910
jmp 0x1006d958
call fcn.1003a3a0
add esp, 4
test eax, eax
jne 0x1006e0a0
mov eax, dword [ebx + 0x38]
lea ecx, [esi - 1]
add eax, 0x24
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov byte [eax + 3], cl
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
test eax, eax
je 0x1006d997
mov eax, dword [eax + 0x38]
jmp 0x1006d99d
mov eax, dword [ebx + 0x38]
add eax, 0x20
movzx ecx, byte [eax]
movzx esi, byte [eax + 1]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or esi, ecx
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
cmp esi, dword [esp + 0x28]
ja 0x1006de25
mov edx, dword [edi]
push 0
lea ecx, [esp + 0x34]
push ecx
push esi
push edx
call fcn.1006b8c0
add esp, 0x10
test eax, eax
jne 0x1006de4b
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x38], edx
cmp esi, 1
setne dl
mov dword [eax + 0x44], ecx
mov ecx, dword [ebp + 8]
dec dl
and dl, 0x64
mov dword [eax + 0x34], ecx
mov dword [eax + 0x48], esi
mov byte [eax + 6], dl
mov edi, dword [eax + 0x38]
movzx ebx, byte [edi + 4]
movzx edx, byte [edi + 5]
shl ebx, 8
or ebx, edx
movzx edx, byte [edi + 6]
shl ebx, 8
or ebx, edx
movzx edx, byte [edi + 7]
shl ebx, 8
or ebx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], 0
jne 0x1006da9b
cmp byte [esp + 0xe], bl
jne 0x1006da9b
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0x94]
push eax
cmp edx, dword [ecx + 0x98]
jbe 0x1006da5d
call fcn.1003f910
jmp 0x1006da62
call fcn.1003a3a0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006de75
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 0x38]
mov dword [eax], esi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov dword [esp + 0x1c], 0
jmp 0x1006de01
mov eax, dword [ecx + 0x24]
shr eax, 2
sub eax, 2
cmp ebx, eax
ja 0x1006de54
cmp byte [esp + 0xe], 0
je 0x1006dc55
mov eax, dword [ebp + 0x14]
cmp esi, eax
je 0x1006dace
jae 0x1006dc55
cmp byte [ebp + 0x18], 2
jne 0x1006dc55
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 0xc]
mov dword [ecx], esi
mov ecx, dword [eax + 0x44]
mov dword [edx], eax
mov byte [esp + 0xe], 0
call fcn.10044b60
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006de75
test ebx, ebx
jne 0x1006db50
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x1006db1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x38]
mov ecx, dword [ecx]
mov dword [eax + 0x20], ecx
mov dword [esp + 0x1c], ebx
jmp 0x1006de01
mov ecx, dword [eax + 0x44]
call fcn.10044b60
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006de75
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x38]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax]
mov dword [edx], eax
mov dword [esp + 0x1c], 0
jmp 0x1006de01
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x38]
add ecx, 8
call fcn.100163d0
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x28]
ja 0x1006de9d
mov esi, dword [esp + 0x24]
mov edi, dword [ebp + 8]
lea edx, [esp + 0x34]
push edx
xor eax, eax
call fcn.1006c520
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006de75
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 0x44]
call fcn.10044b60
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006dead
mov ecx, dword [esi + 0x38]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x38]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [esi + 0x38]
dec ebx
add eax, 4
mov ecx, ebx
shr ecx, 0x18
mov byte [eax], cl
mov edx, ebx
shr edx, 0x10
mov byte [eax + 1], dl
mov ecx, ebx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], bl
mov eax, dword [edi + 0x38]
mov ecx, dword [esi + 0x38]
lea edx, [ebx*4]
push edx
add eax, 0xc
push eax
add ecx, 8
push ecx
call fcn.100091c0
add esp, 0xc
mov eax, esi
call fcn.10025600
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x1006dc0f
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x38]
add eax, 0x20
jmp 0x1006dc2a
mov ecx, dword [eax + 0x44]
call fcn.10044b60
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006de75
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov ecx, dword [esp + 0x24]
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 3], cl
mov byte [eax + 2], dl
mov dword [esp + 0x1c], 0
jmp 0x1006de01
test ebx, ebx
jbe 0x1006de01
xor esi, esi
cmp dword [ebp + 0x14], esi
jbe 0x1006dd27
cmp byte [ebp + 0x18], 2
mov dword [esp + 0x24], esi
jne 0x1006dcb5
xor ecx, ecx
test ebx, ebx
jbe 0x1006dd27
lea eax, [edi + 0xa]
nop
movzx edx, byte [eax - 2]
movzx esi, byte [eax - 1]
shl edx, 8
or edx, esi
movzx esi, byte [eax]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 1]
shl edx, 8
or edx, esi
cmp edx, dword [ebp + 0x14]
jbe 0x1006dcb1
inc ecx
add eax, 4
cmp ecx, ebx
jb 0x1006dc80
mov esi, dword [esp + 0x24]
jmp 0x1006dd27
mov esi, ecx
jmp 0x1006dd27
lea ecx, [edi + 8]
call fcn.100163d0
sub eax, dword [ebp + 0x14]
call fcn.100162d0
mov dword [esp + 0x2c], eax
mov eax, 1
cmp ebx, eax
jbe 0x1006dd27
lea edx, [edi + 0xe]
movzx ecx, byte [edx - 2]
movzx esi, byte [edx - 1]
shl ecx, 8
or ecx, esi
movzx esi, byte [edx]
shl ecx, 8
or ecx, esi
movzx esi, byte [edx + 1]
shl ecx, 8
or ecx, esi
sub ecx, dword [ebp + 0x14]
jns 0x1006dd09
cmp ecx, 0x80000000
jne 0x1006dd07
mov ecx, 0x7fffffff
jmp 0x1006dd09
neg ecx
cmp ecx, dword [esp + 0x2c]
jge 0x1006dd1b
mov esi, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ecx
jmp 0x1006dd1f
mov esi, dword [esp + 0x24]
inc eax
add edx, 4
cmp eax, ebx
jb 0x1006dcd5
movzx eax, byte [edi + esi*4 + 8]
movzx ecx, byte [edi + esi*4 + 9]
movzx edx, byte [edi + esi*4 + 0xa]
shl eax, 8
or eax, ecx
movzx ecx, byte [edi + esi*4 + 0xb]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
cmp eax, dword [esp + 0x28]
ja 0x1006deb6
cmp byte [esp + 0xe], 0
je 0x1006dd72
mov ecx, dword [ebp + 0x14]
cmp eax, ecx
je 0x1006dd72
jae 0x1006de01
cmp byte [ebp + 0x18], 2
jne 0x1006de01
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x44]
call fcn.10044b60
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006de75
lea eax, [ebx - 1]
cmp esi, eax
jae 0x1006dd9e
mov ecx, dword [edi + ebx*4 + 4]
mov dword [edi + esi*4 + 8], ecx
mov edx, eax
shr edx, 0x18
mov byte [edi + 4], dl
mov ecx, eax
mov edx, eax
mov byte [edi + 7], al
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
shr ecx, 0x10
shr edx, 8
mov byte [edi + 5], cl
mov byte [edi + 6], dl
mov edi, dword [ebp + 8]
mov eax, esi
mov ecx, edi
call fcn.1001c5a0
mov ebx, dword [ebp + 0xc]
neg eax
sbb eax, eax
inc eax
push ebx
call fcn.1006c520
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1006ddfc
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x44]
call fcn.10044b60
mov dword [esp + 0x10], eax
test eax, eax
je 0x1006ddfc
mov eax, dword [ebx]
call fcn.10025600
mov byte [esp + 0xe], 0
mov eax, dword [esp + 0x18]
call fcn.10025600
cmp byte [esp + 0xe], 0
mov dword [esp + 0x18], 0
je 0x1006de75
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
jmp 0x1006d986
push 0x100b88d4
push 0xe25f
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x10
mov dword [esp + 0x10], 0xb
jmp 0x1006e002
mov dword [esp + 0x10], eax
jmp 0x1006e002
push 0x100b88d4
push 0xe27c
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x10
mov dword [esp + 0x10], 0xb
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1006e002
mov eax, dword [eax + 0x44]
test byte [eax + 0x18], 0x40
mov esi, dword [eax + 0x10]
je 0x1006dfe2
mov ecx, eax
call fcn.1001cc40
jmp 0x1006dfe7
mov eax, 0xe29e
call fcn.10063100
mov dword [esp + 0x10], eax
jmp 0x1006de75
mov eax, esi
call fcn.10025600
jmp 0x1006de75
push 0x100b88d4
push 0xe2df
jmp 0x1006de5e
mov ebx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x94]
xor edx, edx
cmp byte [edi + 0x13], dl
push ebx
sete dl
mov dword [esp + 0x2c], edx
cmp ecx, dword [eax + 0x98]
jbe 0x1006deea
call fcn.1003f910
jmp 0x1006deef
call fcn.1003a3a0
add esp, 4
test eax, eax
jne 0x1006e0a0
mov eax, dword [0x100cb4d0]
xor edx, edx
div dword [edi + 0x20]
inc dword [edi + 0x2c]
mov ecx, dword [edi + 0x2c]
inc eax
cmp ecx, eax
jne 0x1006df13
inc ecx
mov dword [edi + 0x2c], ecx
cmp byte [edi + 0x11], 0
je 0x1006df81
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.100149d0
cmp eax, esi
jne 0x1006df81
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x30], 0
call fcn.1006c520
mov esi, eax
add esp, 4
test esi, esi
jne 0x1006df5f
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x44]
call fcn.10044b60
mov esi, eax
mov eax, ebx
call fcn.10025600
test esi, esi
je 0x1006df68
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100cb4d0]
xor edx, edx
div dword [edi + 0x20]
inc dword [edi + 0x2c]
mov ecx, dword [edi + 0x2c]
inc eax
cmp ecx, eax
jne 0x1006df81
inc ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
mov ebx, dword [ebp + 0xc]
add eax, 0x1c
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov byte [eax + 3], cl
mov esi, dword [edi + 0x2c]
mov eax, dword [ebp + 0x10]
mov dword [eax], esi
mov eax, dword [esp + 0x28]
push ebx
call fcn.1006c520
add esp, 4
test eax, eax
jne 0x1006e0a0
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x44]
call fcn.10044b60
mov dword [esp + 0x10], eax
test eax, eax
je 0x1006e046
mov eax, dword [ebx]
call fcn.10025600
jmp 0x1006e03f
call fcn.1001d7d0
cmp dword [esi + 0x78], 0
jne 0x1006e002
mov edx, dword [esi + 0xdc]
cmp dword [edx + 0xc], 0
jne 0x1006e002
push esi
call fcn.10069eb0
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1006e03f
mov eax, dword [eax + 0x44]
test byte [eax + 0x18], 0x40
mov esi, dword [eax + 0x10]
je 0x1006e01f
mov ecx, eax
call fcn.1001cc40
jmp 0x1006e024
call fcn.1001d7d0
cmp dword [esi + 0x78], 0
jne 0x1006e03f
mov eax, dword [esi + 0xdc]
cmp dword [eax + 0xc], 0
jne 0x1006e03f
push esi
call fcn.10069eb0
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x1006e093
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
cmp word [ecx + 0x1a], 1
jle 0x1006e085
call fcn.10025600
push 0x100b88d4
push 0xe342
push str.database_corruption_at_line__d_of___.10s_
push 0xb
mov dword [esi], 0
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [eax], 0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [edx], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret