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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, edx
mov edi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, ebx
shl ecx, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x20], ecx
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x18], eax
test eax, eax
mov dword [ebp - 0x10], edx
je 0x10172c07
xor edx, edx
inc edx
mov ecx, edi
push ebx
call fcn.101591b0
add esp, 4
cmp byte [esi + 0x2b], 1
jne 0x10172ba2
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov edx, 0xaa
push eax
push eax
push eax
call fcn.10030110
mov esi, dword [ebp - 0x10]
add esp, 0xc
mov ecx, edi
mov edx, esi
call fcn.10172da0
test eax, eax
mov ebx, dword [ebp - 0x14]
je 0x10172bc4
mov esi, eax
mov ecx, edi
mov edx, esi
call fcn.10172e60
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x10172bb4
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
test byte [eax + 0x1c], 8
je 0x10172be5
push dword [eax]
push dword [ebx]
push str.DELETE_FROM__Q.sqlite_sequence_WHERE_name_Q
push edi
call fcn.10025a50
mov eax, dword [ebp - 0x10]
add esp, 0x10
push dword [eax]
push dword [ebx]
push str.DELETE_FROM__Q.sqlite_master_WHERE_tbl_name_Q_and_type_trigger
push edi
mov ebx, eax
call fcn.10025a50
add esp, 0x10
test esi, esi
je 0x10172c23
cmp byte [ebx + 0x2b], 1
mov ecx, ebx
je 0x10172c2f
jmp 0x10172c6c
cmp dword [edi + 0x78], 0
je 0x10172d83
mov ecx, edi
call fcn.1002fa90
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x10]
jmp 0x10172b76
cmp byte [ebx + 0x2b], 1
mov ecx, ebx
jne 0x10172d0d
mov eax, dword [ecx]
mov dword [ebp - 0x14], eax
xor ebx, ebx
mov esi, dword [ebp - 0x18]
mov ecx, esi
mov edx, 0xac
push ebx
push ebx
push dword [ebp + 8]
call fcn.10030110
add esp, 0xc
mov ecx, esi
mov edx, eax
push ebx
push dword [ebp - 0x14]
call fcn.1003a6c0
mov ecx, dword [ebp - 0x10]
add esp, 8
mov eax, dword [edi + 0x78]
test eax, eax
cmove eax, edi
mov byte [eax + 0x15], 1
mov eax, dword [ecx]
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov esi, dword [ebp - 0x18]
mov ecx, esi
mov edx, 0x97
push ebx
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.10030110
add esp, 0xc
mov ecx, esi
mov edx, eax
push ebx
push dword [ebp - 0x10]
call fcn.1003a6c0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov ebx, dword [ebp - 0x20]
mov eax, dword [eax + ebx + 0xc]
mov eax, dword [eax]
inc eax
mov edx, 0x64
push eax
push 1
push dword [ebp + 8]
call fcn.10030110
add esp, 0xc
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ebx + 0xc]
movzx ecx, word [eax + 0x4e]
test cl, 2
je 0x10172d05
mov esi, dword [eax + 0x10]
test esi, esi
je 0x10172cfb
mov edx, dword [esi + 8]
cmp byte [edx + 0x2b], 2
jne 0x10172cea
mov ecx, edi
call fcn.1016cd70
mov esi, dword [esi]
test esi, esi
jne 0x10172cda
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ebx + 0xc]
movzx ecx, word [eax + 0x4e]
and ecx, 0xfffd
mov word [eax + 0x4e], cx
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ecx + 0x14]
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x14], edx
mov eax, esi
dec eax
cmp eax, edx
mov esi, edx
cmovb esi, ebx
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10172d40
mov edx, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x14]
cmp edx, esi
mov ecx, esi
cmova ecx, edx
cmp eax, edx
cmovae esi, ecx
mov ecx, ebx
test ebx, ebx
jne 0x10172d28
test esi, esi
mov ebx, dword [ebp - 0x10]
je 0x10172bfd
mov eax, dword [ebx + 0x3c]
mov ebx, 0xffff8000
test eax, eax
je 0x10172d6c
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
xor ebx, ebx
dec ebx
inc ebx
lea edx, [ecx + 0x10]
cmp dword [ecx], eax
mov ecx, edx
jne 0x10172d62
mov ecx, edi
mov edx, esi
push ebx
call fcn.10172fc0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
xor ebx, ebx
jmp 0x10172d17
mov eax, dword [ebp - 0x1c]
test byte [eax + 0x50], 8
jne 0x10172c11
mov byte [edi + 0x17], 1
jmp 0x10172c11