Function at 0x1002aeb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov dword [ebp - 0x30], edx
mov esi, ecx
mov eax, dword [0x101d2014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x30]
mov eax, dword [edi + 0x38]
push dword [eax + 0x24]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
cmp eax, ebx
jae 0x1002b6c5
test eax, eax
mov dword [ebp - 0x24], esi
jne 0x1002b0bc
mov eax, edi
cmp byte [esi + 0x13], 0
mov edi, ebx
mov ecx, dword [eax + 0x48]
sete bl
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x1002b072
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jb 0x1002b072
cmp dword [eax + 0x60], 0
je 0x1002af31
call fcn.1001ee10
mov esi, eax
test eax, eax
jne 0x1002b01a
mov esi, dword [ebp - 0x24]
mov edi, dword [esi + 0x30]
lea eax, [edi + 1]
mov ecx, ebx
xor edx, edx
mov dword [esi + 0x30], eax
mov ebx, eax
mov eax, dword [0x101d2678]
div dword [esi + 0x24]
cmp edi, eax
je 0x1002b6ed
xor edx, edx
cmp byte [esi + 0x11], 0
mov dl, cl
mov dword [ebp - 0x18], edx
jne 0x1002b02e
mov edi, ebx
mov eax, dword [esi + 0xc]
mov ebx, esi
mov esi, dword [eax + 0x38]
push edi
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebx + 0x30]
mov dword [eax], edi
mov esi, dword [ebx]
mov ecx, dword [esi + 0xcc]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push dword [ebp - 0x18]
push eax
push edi
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x1002b6fa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
cmp dword [eax + 4], edi
je 0x1002afcd
mov edx, dword [ecx + 4]
mov esi, dword [ebp - 0x24]
mov dword [eax + 0x38], edx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x34], esi
xor esi, esi
cmp edi, 1
mov edx, 0x64
mov dword [eax + 4], edi
cmovne edx, esi
mov byte [eax + 9], dl
mov edi, dword [ebp - 0x30]
mov dword [edi], eax
mov ecx, dword [eax + 0x48]
cmp word [ecx + 0x1e], 2
jge 0x1002b70a
mov byte [eax], 0
mov edx, dword [edi]
mov ecx, dword [edx + 0x48]
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x1002b095
mov esi, dword [eax + 0x18]
cmp esi, dword [ecx + 0x18]
jb 0x1002b095
cmp dword [eax + 0x60], 0
je 0x1002bbf4
call fcn.1001ee10
xor esi, esi
test eax, eax
jne 0x1002b721
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, ebx
cmp ebx, 2
jb 0x1002b733
mov ecx, eax
mov eax, 0xcccccccd
lea ebx, [edi - 2]
mul dword [esi + 0x28]
mov eax, ebx
mov esi, edx
xor edx, edx
shr esi, 2
inc esi
div esi
sub ebx, edx
xor edx, edx
lea eax, [ebx + 1]
cmp eax, ecx
sete dl
lea eax, [edx + ebx + 2]
cmp eax, edi
je 0x1002b49a
mov esi, dword [ebp - 0x24]
jmp 0x1002af60
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x1002b01a
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x1002b73a
call fcn.10029840
jmp 0x1002af21
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x1002b725
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x1002b744
call fcn.10029840
jmp 0x1002b010
mov cl, byte [ebp + 0x10]
mov dword [ebp - 0x44], eax
cmp cl, 2
je 0x1002b779
cmp cl, 1
je 0x1002b783
mov dword [ebp - 0x18], 0
mov ecx, dword [edi + 0x48]
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x1002b571
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jb 0x1002b571
cmp dword [eax + 0x60], 0
je 0x1002b10c
call fcn.1001ee10
mov esi, eax
test eax, eax
jne 0x1002b01a
mov eax, dword [ebp - 0x44]
mov esi, dword [edi + 0x38]
dec eax
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x24], eax
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x34], ebx
test eax, eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], eax
jne 0x1002b795
mov eax, dword [edi + 0x38]
add eax, 0x20
mov esi, dword [ebp - 0x24]
push dword [eax]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x28], eax
ja 0x1002b74e
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x44]
ja 0x1002b74e
mov esi, dword [esi]
mov ecx, dword [esi + 0xcc]
call dword [section..00cfg]
push 0
lea eax, [ebp - 0x14]
push eax
mov ebx, dword [ebp - 0x28]
push ebx
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x1002b79d
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], ebx
je 0x1002b629
mov eax, dword [edx + 4]
cmp ebx, 1
mov esi, edx
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0x48], edx
mov edx, 0x64
mov dword [ecx + 0x34], eax
mov eax, 0
mov dword [ecx + 4], ebx
cmove eax, edx
mov edx, esi
lea esi, [ecx + 0x48]
mov byte [ecx + 9], al
mov dword [ebp - 0x48], esi
mov ebx, dword [ebp - 0x34]
cmp word [edx + 0x1e], 2
mov esi, edx
jge 0x1002b7a7
mov byte [ecx], 0
mov dword [ebp - 0x20], ecx
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x3c], eax
push dword [eax + 4]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov edx, dword [ebp - 0x18]
mov ecx, eax
test dl, dl
jne 0x1002b275
test ecx, ecx
jne 0x1002b275
mov eax, dword [esi + 0x14]
test byte [esi + 0x1c], 4
mov ecx, esi
je 0x1002b5f3
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jb 0x1002b5f3
cmp dword [eax + 0x60], 0
je 0x1002b22e
call fcn.1001ee10
mov esi, eax
test eax, eax
jne 0x1002b95b
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
xor esi, esi
mov dword [eax], ecx
mov ecx, dword [edx + 0x38]
mov eax, dword [edi + 0x38]
mov ecx, dword [ecx]
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
xor edx, edx
test eax, eax
jne 0x1002bbca
inc dword [ebp - 0x40]
test dl, dl
mov eax, ecx
mov dl, 1
mov dword [ebp - 0x18], 0
je 0x1002b964
jmp 0x1002b12e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], ecx
mov eax, dword [eax + 0x28]
shr eax, 2
add eax, 0xfffffffe
cmp ecx, eax
ja 0x1002b7ba
test dl, dl
mov dword [ebp - 0x2c], edi
jne 0x1002b80e
cmp dword [ebp - 0x38], 0
je 0x1002b61c
cmp dword [ebp + 0xc], 0
mov al, byte [ebp + 0x10]
je 0x1002b9a7
cmp al, 2
je 0x1002b9ae
mov eax, dword [ebp - 0x3c]
push dword [eax + 8]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
cmp dword [ebp - 0x38], 2
mov esi, 0
jae 0x1002b440
mov eax, dword [ebp - 0x3c]
mov edi, esi
push dword [eax + esi*4 + 8]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ebx, dword [ebp - 0x34]
cmp eax, ebx
ja 0x1002b7c9
cmp byte [ebp + 0x10], 2
mov esi, dword [ebp + 0xc]
sete cl
cmp eax, esi
setb dl
cmp eax, esi
mov esi, dword [ebp - 0x48]
je 0x1002b313
cmp byte [ebp - 0x18], 0
je 0x1002b313
and cl, dl
je 0x1002bb0f
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x1002b637
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jb 0x1002b637
cmp dword [eax + 0x60], 0
je 0x1002b348
call fcn.1001ee10
mov esi, eax
test eax, eax
jne 0x1002b95b
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x3c]
lea eax, [ecx - 1]
cmp edi, eax
jb 0x1002b5e6
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov edx, dword [ebp - 0x24]
mov dword [esi + 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x40]
mov edi, dword [eax]
test ecx, ecx
je 0x1002b9d5
mov eax, dword [ecx]
mov ebx, 1
cmp eax, edi
jae 0x1002b598
mov esi, dword [edx]
xor ebx, 1
mov ecx, dword [esi + 0xcc]
call dword [section..00cfg]
push ebx
lea eax, [ebp - 0x14]
push eax
push edi
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x1002b9dc
mov ecx, dword [ebp - 0x14]
mov esi, edi
mov ebx, dword [ebp - 0x34]
mov eax, dword [ecx + 8]
cmp dword [eax + 4], edi
mov edi, dword [ebp - 0x2c]
je 0x1002b3e4
mov edx, dword [ecx + 4]
cmp esi, 1
mov dword [eax + 0x38], edx
mov dword [eax + 0x48], ecx
mov ecx, dword [ebp - 0x24]
mov edx, 0x64
mov dword [eax + 0x34], ecx
mov ecx, 0
mov dword [eax + 4], esi
cmove ecx, edx
mov byte [eax + 9], cl
mov esi, dword [ebp - 0x30]
mov dword [esi], eax
mov ecx, dword [eax + 0x48]
cmp word [ecx + 0x1e], 2
jge 0x1002b9ec
mov byte [eax], 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
mov edx, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x1002b65e
mov esi, dword [edx + 0x18]
cmp esi, dword [ecx + 0x18]
jb 0x1002b65e
cmp dword [edx + 0x60], 0
je 0x1002b61a
call fcn.1001ee10
mov esi, eax
test eax, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
jne 0x1002ba7a
xor edx, edx
xor esi, esi
jmp 0x1002b252
sub eax, dword [ebp + 0xc]
mov ecx, bind
mov edi, eax
neg edi
cmp eax, 0x80000000
cmove edi, ecx
test eax, eax
cmovns edi, eax
xor esi, esi
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x3c]
push dword [eax + ebx*4 + 8]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
sub eax, dword [ebp + 0xc]
mov edx, bind
mov ecx, eax
neg ecx
cmp eax, 0x80000000
cmove ecx, edx
test eax, eax
cmovns ecx, eax
cmp ecx, edi
cmovl edi, ecx
cmovl esi, ebx
inc ebx
cmp dword [ebp - 0x38], ebx
je 0x1002b2d3
jmp 0x1002b45e
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
mov ecx, dword [esi + 0xcc]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push dword [ebp - 0x18]
push eax
push edi
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x1002baa1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
cmp dword [eax + 4], edi
je 0x1002b6b3
mov edx, dword [ecx + 4]
mov esi, dword [ebp - 0x24]
mov ebx, 0x64
mov dword [eax + 0x38], edx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x34], esi
xor esi, esi
cmp edi, 1
mov dword [eax + 4], edi
lea edi, [eax + 0x48]
cmovne ebx, esi
mov byte [eax + 9], bl
cmp word [ecx + 0x1e], 2
jge 0x1002baa8
mov byte [eax], 0
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x1002b68c
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jb 0x1002b68c
cmp dword [eax + 0x60], 0
je 0x1002b685
call fcn.1001ee10
mov esi, eax
mov ecx, dword [edi]
test byte [ecx + 0x1c], 0x20
jne 0x1002bab2
call fcn.10025e90
test esi, esi
jne 0x1002b01a
mov esi, dword [ebp - 0x24]
xor edx, edx
mov ecx, dword [esi + 0x30]
lea edi, [ecx + 1]
mov dword [esi + 0x30], edi
mov eax, dword [0x101d2678]
div dword [esi + 0x24]
cmp ecx, eax
jne 0x1002af60
add ecx, 2
mov edi, ecx
mov dword [esi + 0x30], ecx
jmp 0x1002af60
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x1002b01a
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x1002bb15
call fcn.10029840
jmp 0x1002b102
lea esi, [edi - 1]
mov dword [ebp - 0x18], edi
cmp esi, eax
mov dword [ebp - 0x28], esi
jae 0x1002b6be
mov esi, dword [ecx + 8]
test esi, esi
jne 0x1002bb1f
cmp dword [ecx], 0xfa0
ja 0x1002bb42
mov edx, dword [ebp - 0x28]
xor ebx, ebx
mov eax, edx
and dl, 7
shr eax, 3
movzx eax, byte [ecx + eax + 0xc]
movzx ecx, dl
bt eax, ecx
setb bl
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
jmp 0x1002b387
mov ecx, dword [esi + ecx*4 + 4]
mov dword [esi + edi*4 + 8], ecx
jmp 0x1002b359
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x1002b95b
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x1002bb8d
call fcn.10029840
jmp 0x1002b224
xor edx, edx
xor esi, esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
jmp 0x1002b252
mov edx, dword [ecx + 0x48]
lea eax, [ecx + 0x48]
mov dword [ebp - 0x48], eax
jmp 0x1002b1ca
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x1002b95b
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x1002bc02
call fcn.10029840
jmp 0x1002b33e
mov esi, dword [edx + 0x28]
test esi, esi
jne 0x1002ba7f
mov eax, dword [edx + 0x94]
cmp eax, dword [edx + 0x98]
ja 0x1002bc0c
call fcn.10029840
jmp 0x1002b427
xor esi, esi
jmp 0x1002b52d
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x1002b52d
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x1002bc1e
call fcn.10029840
jmp 0x1002b52b
mov ecx, dword [eax + 0x48]
lea edi, [eax + 0x48]
jmp 0x1002b4f5
xor ebx, ebx
jmp 0x1002b5de
push 0x101b128f
push 0x1140e
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
jmp 0x1002b01a
add edi, 2
mov ebx, edi
mov dword [esi + 0x30], edi
jmp 0x1002af4d
mov esi, eax
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
jmp 0x1002b01a
call fcn.10025e10
mov dword [edi], 0
push 0x101b128f
push 0x105b2
jmp 0x1002b6cf
mov edx, dword [edi]
mov esi, eax
test edx, edx
je 0x1002b6fc
mov ecx, dword [edx + 0x48]
call fcn.10025e10
jmp 0x1002b6fc
xor eax, eax
jmp 0x1002b062
call fcn.100295e0
jmp 0x1002af21
call fcn.100295e0
jmp 0x1002b010
push 0x101b128f
push 0x11446
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, dword [ebp - 0x1c]
mov esi, 0xb
jmp 0x1002b96b
mov al, 1
mov dword [ebp - 0x18], eax
jmp 0x1002b0db
cmp ebx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], edi
mov eax, ebx
jae 0x1002b7d8
mov edi, dword [ebp - 0x2c]
jmp 0x1002b0d4
mov eax, dword [eax + 0x38]
jmp 0x1002b142
mov edi, dword [ebp - 0x1c]
mov esi, eax
jmp 0x1002b96b
mov ecx, esi
call fcn.10025e10
push 0x101b128f
push 0x105b2
jmp 0x1002b758
push 0x101b128f
push 0x11463
jmp 0x1002b942
push 0x101b128f
push 0x114c6
jmp 0x1002b942
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
lea edi, [ebp - 0x14]
push 0
push edi
call fcn.1002ad40
add esp, 8
test eax, eax
mov esi, eax
sete cl
cmp byte [edi], 2
mov edi, dword [ebp - 0x2c]
sete al
test esi, esi
jne 0x1002b01a
and cl, al
mov dword [ebp - 0x18], ecx
jmp 0x1002b0db
cmp byte [ebp + 0x10], 2
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x28]
sete al
cmp ebx, edx
setb cl
cmp ebx, edx
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
je 0x1002b832
and al, cl
je 0x1002b297
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov ecx, dword [eax + 0x48]
call fcn.100087b0
test eax, eax
jne 0x1002bbfb
cmp dword [ebp - 0x38], 0
je 0x1002bb97
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x38]
push dword [eax + 8]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
ja 0x1002b938
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push eax
call fcn.1002c0c0
add esp, 4
test eax, eax
jne 0x1002bbfb
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x48]
call fcn.100087b0
test eax, eax
jne 0x1002b997
mov esi, dword [ebp - 0x20]
mov eax, dword [edi + 0x38]
mov ebx, dword [ebp - 0x38]
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx]
mov dword [eax], ecx
lea eax, [ebx - 1]
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0x28], ecx
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ecx, dword [ebp - 0x28]
lea edx, [ebx*4 - 4]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x38]
mov ecx, dword [esi + 0x38]
add eax, 8
add ecx, 0xc
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
test edi, edi
je 0x1002b8f8
mov ecx, dword [edi + 0x48]
call fcn.10025e10
cmp dword [ebp - 0x1c], 0
je 0x1002bc28
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x48]
call fcn.100087b0
test eax, eax
jne 0x1002bbfb
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x38]
push dword [ebp - 0x18]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esi], eax
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
jmp 0x1002b437
push 0x101b128f
push 0x11485
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
test ecx, ecx
jne 0x1002b980
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x1002b01a
mov ecx, dword [edi + 0x48]
call fcn.10025e10
jmp 0x1002b01a
mov ecx, dword [ecx + 0x48]
mov edi, dword [ebp - 0x18]
test byte [ecx + 0x1c], 0x20
jne 0x1002ba21
call fcn.10025e90
jmp 0x1002b96b
mov esi, eax
test edi, edi
je 0x1002b95b
mov ecx, dword [edi + 0x48]
call fcn.10025e10
jmp 0x1002b95b
xor esi, esi
jmp 0x1002b2d3
xor edi, edi
mov eax, dword [ebp - 0x3c]
push dword [eax + edi*4 + 8]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
cmp eax, dword [ebp + 0xc]
jbe 0x1002bb08
inc edi
xor esi, esi
cmp dword [ebp - 0x38], edi
jne 0x1002b9b0
jmp 0x1002b2d3
xor ebx, ebx
jmp 0x1002b387
mov ecx, dword [ebp - 0x30]
mov esi, eax
mov dword [ecx], 0
jmp 0x1002ba94
call fcn.10025e10
mov dword [esi], 0
push 0x101b128f
push 0x105b2
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
xor edx, edx
jmp 0x1002b61e
mov edi, dword [ecx + 0x14]
dec dword [edi + 0x78]
mov eax, dword [edi + 0x88]
mov dword [ecx + 0x10], eax
mov dword [edi + 0x88], ecx
mov edx, dword [edi + 0x98]
mov eax, dword [ecx + 0x18]
mov edi, dword [edi + 0x3c]
mov ebx, edx
dec eax
sar ebx, 0x1f
imul ebx, eax
mul edx
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 4]
mov ecx, dword [edi]
add edx, ebx
mov ebx, edx
mov ecx, dword [ecx + 0x48]
mov dword [ebp - 0x30], eax
call dword [section..00cfg]
push dword [ebp - 0x30]
push ebx
push dword [ebp - 0x24]
push edi
mov edi, dword [ebp - 0x18]
call ecx
add esp, 0x10
jmp 0x1002b96b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov edi, dword [ebp - 0x30]
test eax, eax
je 0x1002ba8e
mov ecx, dword [eax + 0x48]
call fcn.10025e10
mov dword [edi], 0
mov ebx, dword [ebp - 0x34]
xor edx, edx
mov edi, dword [ebp - 0x2c]
jmp 0x1002b61e
mov esi, eax
jmp 0x1002b01a
call fcn.10025e10
jmp 0x1002b715
mov edi, dword [ecx + 0x14]
dec dword [edi + 0x78]
mov eax, dword [edi + 0x88]
mov dword [ecx + 0x10], eax
mov dword [edi + 0x88], ecx
mov edx, dword [edi + 0x98]
mov eax, dword [ecx + 0x18]
mov edi, dword [edi + 0x3c]
mov ebx, edx
dec eax
sar ebx, 0x1f
imul ebx, eax
mul edx
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 4]
mov ecx, dword [edi]
add edx, ebx
mov ebx, edx
mov ecx, dword [ecx + 0x48]
mov dword [ebp - 0x40], eax
call dword [section..00cfg]
push dword [ebp - 0x40]
push ebx
push dword [ebp - 0x44]
push edi
call ecx
add esp, 0x10
jmp 0x1002b53e
mov esi, edi
jmp 0x1002b2d3
xor esi, esi
mov dl, 1
jmp 0x1002ba99
call fcn.100295e0
jmp 0x1002b102
mov eax, dword [ebp - 0x28]
xor edx, edx
xor ebx, ebx
div esi
mov edi, dword [ebp - 0x18]
mov ecx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x24]
test ecx, ecx
jne 0x1002b5a9
jmp 0x1002b387
mov esi, dword [ebp - 0x28]
mov edx, 0x10624dd3
mov eax, esi
mul edx
shr edx, 3
imul eax, edx, 0x7d
sub esi, eax
mov eax, dword [ecx + esi*4 + 0xc]
test eax, eax
je 0x1002bb86
mov edi, dword [ebp - 0x28]
inc edi
cmp eax, edi
mov edx, edi
je 0x1002bc16
inc esi
mov edx, 0x10624dd3
mov eax, esi
mul edx
shr edx, 3
imul eax, edx, 0x7d
sub esi, eax
mov eax, dword [ecx + esi*4 + 0xc]
test eax, eax
jne 0x1002bb62
xor ebx, ebx
jmp 0x1002b5db
call fcn.100295e0
jmp 0x1002b224
cmp dword [ebp - 0x1c], 0
je 0x1002bbe3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x48]
call fcn.100087b0
test eax, eax
jne 0x1002bbfb
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x2c]
xor esi, esi
mov ecx, dword [ecx + 0x38]
mov eax, dword [edx + 0x38]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, edx
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0x18], edx
call fcn.10025e10
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
jmp 0x1002b25a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x38]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx]
mov dword [eax + 0x20], ecx
xor esi, esi
jmp 0x1002b01a
mov esi, eax
jmp 0x1002b95b
call fcn.100295e0
jmp 0x1002b33e
call fcn.100295e0
jmp 0x1002b427
xor ebx, ebx
inc ebx
jmp 0x1002b5db
call fcn.100295e0
jmp 0x1002b52b
mov eax, dword [ebp - 0x2c]
mov esi, dword [eax + 0x38]
push dword [ebp - 0x18]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esi + 0x20], eax
jmp 0x1002b928