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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov dword [ebp - 8], edi
cmp byte [edi], 0
jne 0x1001f698
mov bl, byte [edi + 1]
test bl, 2
je 0x1001f698
mov ecx, dword [edi + 0x20]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 0x24]
cmp ecx, edx
jne 0x1001f639
cmp eax, dword [ebp + 0xc]
jne 0x1001f63c
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, dword [ebp + 0xc]
jg 0x1001f698
jl 0x1001f644
cmp ecx, edx
jae 0x1001f698
test bl, 8
jne 0x1001f6ac
add ecx, 1
adc eax, 0
cmp ecx, edx
jne 0x1001f698
mov ebx, dword [ebp + 0xc]
cmp eax, ebx
jne 0x1001f698
mov eax, dword [ebp + 0x10]
push 0
push edi
mov dword [eax], 0
call fcn.1001fe40
add esp, 8
test eax, eax
jne 0x1001f68f
mov ecx, edi
call fcn.1001eb50
mov eax, dword [ebp + 8]
cmp dword [edi + 0x20], eax
jne 0x1001f698
cmp dword [edi + 0x24], ebx
jne 0x1001f698
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x65
jne 0x1001f8ab
mov ecx, edi
call fcn.1001f210
test eax, eax
je 0x1001f6be
cmp eax, 0x10
jne 0x1001f8ab
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xffffffff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
lea ebx, [edi + 0x74]
sub eax, esi
mov dword [ebp - 0x14], eax
nop dword [eax + eax]
mov edx, dword [ebx]
mov ecx, eax
mov eax, dword [ebp - 8]
xor ebx, ebx
mov dword [ebp - 0xc], edx
movzx edi, word [edx + 0x18]
dec edi
mov esi, edi
sar esi, cl
mov word [eax + 0x46], si
mov cl, byte [edx + 2]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x10], eax
mov byte [ebp - 1], cl
mov ax, word [eax + esi*2]
mov ch, al
mov cl, ah
movzx eax, word [edx + 0x1a]
movzx ecx, cx
and ecx, eax
add ecx, dword [edx + 0x44]
cmp byte [ebp - 1], 0
je 0x1001f726
cmp byte [ecx], 0x80
jb 0x1001f725
mov eax, dword [edx + 0x3c]
inc ecx
cmp ecx, eax
jae 0x1001f836
cmp byte [ecx], 0x80
jae 0x1001f717
inc ecx
lea edx, [ebp - 0x20]
call fcn.10009b00
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0xc]
jg 0x1001f74e
jl 0x1001f742
mov edx, dword [ebp + 8]
cmp eax, edx
jae 0x1001f751
lea ebx, [esi + 1]
cmp ebx, edi
jle 0x1001f763
or eax, 0xffffffff
jmp 0x1001f775
mov edx, dword [ebp + 8]
cmp ecx, dword [ebp + 0xc]
jl 0x1001f799
jg 0x1001f75c
cmp eax, edx
jbe 0x1001f799
lea edi, [esi - 1]
cmp ebx, edi
jg 0x1001f770
mov edx, dword [ebp - 0xc]
lea esi, [edi + ebx]
mov eax, dword [ebp - 0x10]
sar esi, 1
jmp 0x1001f6f5
mov eax, 1
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
cmp byte [edx + 8], 0
je 0x1001f7af
mov ecx, dword [ebp + 0x10]
mov word [edi + 0x46], si
mov dword [ecx], eax
xor eax, eax
xor ecx, ecx
mov word [edi + 0x32], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov word [edi + 0x46], si
cmp byte [edx + 8], 0
jne 0x1001f890
mov ebx, esi
movzx eax, word [edx + 0x18]
cmp ebx, eax
jl 0x1001f7c4
movzx ecx, byte [edx + 9]
mov eax, dword [edx + 0x38]
mov edx, dword [ecx + eax + 8]
jmp 0x1001f7de
mov eax, dword [edx + 0x40]
mov ax, word [eax + ebx*2]
mov ch, al
mov cl, ah
movzx eax, word [edx + 0x1a]
movzx ecx, cx
and ecx, eax
mov eax, dword [edx + 0x38]
mov edx, dword [ecx + eax]
mov al, byte [edi + 0x44]
mov esi, dword [edi + 0x14]
movzx ecx, bx
mov word [edi + 0x46], cx
cmp al, 0x13
jge 0x1001f860
and byte [edi + 1], 0xf9
xor ebx, ebx
movsx eax, al
mov word [edi + 0x32], bx
lea ebx, [edi + 0x74]
bswap edx
mov word [edi + eax*2 + 0x48], cx
movsx ecx, byte [edi + 0x44]
mov eax, dword [ebx]
mov dword [edi + ecx*4 + 0x78], eax
xor eax, eax
inc byte [edi + 0x44]
mov ecx, esi
mov word [edi + 0x46], ax
movzx eax, byte [edi + 2]
push eax
push edi
push ebx
call fcn.1001be70
add esp, 0xc
test eax, eax
jne 0x1001f883
mov eax, dword [ebp - 0x14]
jmp 0x1001f6d0
push 0x10110a2c
push 0x115e0
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10110a2c
push 0x11456
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov eax, 0xb
xor ecx, ecx
mov word [edi + 0x32], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or byte [edi + 1], 2
mov dword [edi + 0x20], eax
xor eax, eax
mov word [edi + 0x32], ax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x24], ecx
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret