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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rbp, qword [rdx + 0x60]
mov r14, qword [rcx + 0x10]
movzx eax, word [rbp + 0x3e]
mov r13, rcx
mov word [rsp + 0x48], ax
mov eax, dword [rcx + 0x38]
mov r12d, r8d
movzx ecx, word [rbp + 0x18]
mov r8, qword [rbp + 0x20]
mov qword [rsp + 0xb8], rdx
lea ebx, [rax + 1]
lea edx, [rcx + r9]
mov dword [rsp + 0x3c], ecx
mov edi, ebx
mov rcx, qword [r13]
add eax, edx
mov dword [rsp + 0x58], edx
mov rdx, qword [r8 + 0x20]
mov dword [r13 + 0x38], eax
test rdx, rdx
je 0x1401d8730
call sym.sqlite3DbStrDup
movzx esi, word [rsp + 0x48]
mov qword [rsp + 0x40], rax
test si, si
jne 0x1401d85c0
movzx ebx, word [rsp + 0x48]
cmp dword [rsp + 0x3c], esi
jle 0x1401d8528
mov qword [rsp + 0x48], r14
jmp 0x1401d83f5
mov rax, qword [rsi]
test byte [rax + 5], 0x10
je 0x1401d83e7
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1401d83e7
mov byte [rax + rbx], 0x41
add rbx, 1
cmp dword [rsp + 0x3c], ebx
jle 0x1401d8528
mov rax, qword [rbp + 0x48]
lea r15d, [rdi + rbx]
mov r9d, ebx
mov rcx, r13
mov r8, qword [rsp + 0xb8]
mov r14d, ebx
mov rsi, qword [rax + rbx*8]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r12d
mov rdx, rsi
call dbg.codeEqualityTerm
mov r8d, eax
cmp r15d, eax
je 0x1401d8442
cmp dword [rsp + 0x58], 1
jne 0x1401d84d8
test edi, edi
jne 0x1401d8500
mov edi, r8d
movzx eax, word [rsi + 0x14]
test al, 1
jne 0x1401d83d0
test ah, 1
jne 0x1401d83e7
mov rax, qword [rsi]
mov r11, qword [rax + 0x18]
test byte [rsi + 0x13], 8
je 0x1401d8550
mov eax, dword [r13 + 0x30]
test eax, eax
jne 0x1401d83e7
mov rax, qword [rsp + 0x40]
mov rcx, r11
mov qword [rsp + 0x50], r11
movzx r14d, byte [rax + rbx]
call dbg.sqlite3ExprAffinity
mov r11, qword [rsp + 0x50]
cmp al, 0x40
jle 0x1401d85a0
cmp r14b, 0x40
jle 0x1401d85a0
cmp al, 0x42
jg 0x1401d85b3
cmp r14b, 0x42
jg 0x1401d85b3
mov rax, qword [rsp + 0x40]
mov edx, 0x41
mov byte [rax + rbx], 0x41
mov rcx, r11
call dbg.sqlite3ExprNeedsNoAffinityChange
test eax, eax
je 0x1401d83e7
mov rax, qword [rsp + 0x40]
jmp 0x1401d83e3
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x48]
mov r9d, r15d
mov edx, 0x50
call sym.sqlite3VdbeAddOp3
jmp 0x1401d8442
movzx eax, byte [r13 + 0x1f]
cmp al, 7
ja 0x1401d843f
lea edx, [rax + 1]
mov byte [r13 + 0x1f], dl
mov dword [r13 + rax*4 + 0xe8], edi
jmp 0x1401d843f
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
mov eax, edi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r11
call dbg.sqlite3ExprCanBeNull
test eax, eax
je 0x1401d8460
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0xb8]
lea r8d, [rdi + r14]
mov dword [rsp + 0x20], 0
mov edx, 0x32
mov qword [rsp + 0x50], r11
mov r9d, dword [rax + 0xc]
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x50]
jmp 0x1401d8460
mov edx, r14d
or edx, 0x40
cmp al, 0x41
cmovl eax, edx
cmp al, 0x41
je 0x1401d84ac
movsx edx, r14b
jmp 0x1401d84ba
xor r8d, r8d
mov r9d, ebx
mov edx, 0x4b
mov rcx, r14
mov rax, qword [rsp + 0xb8]
mov r15d, dword [rax + 8]
lea eax, [rsi + rbx - 1]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x50], r15d
call sym.sqlite3VdbeAddOp3
cmp r12d, 1
mov r8d, r15d
mov rcx, r14
sbb edx, edx
mov dword [rsp + 0x20], 0
xor r9d, r9d
and edx, 4
add edx, 0x20
call sym.sqlite3VdbeAddOp3
mov r15d, dword [r14 + 0x90]
mov r8d, dword [r14 + 0x94]
cmp r15d, r8d
jge 0x1401d876c
movsxd rax, r15d
lea edx, [r15 + 1]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [r14 + 0x90], edx
lea rax, [rax + rcx*8]
mov qword [rax], 9
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
cmp r12d, 1
sbb ecx, ecx
and ecx, 3
add ecx, 0x15
cmp edx, r8d
jge 0x1401d8744
movsxd rax, edx
lea r8d, [rdx + 1]
lea r9, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [r14 + 0x90], r8d
lea rax, [rax + r9*8]
mov byte [rax], cl
xor ecx, ecx
mov word [rax + 2], cx
mov ecx, dword [rsp + 0x50]
mov dword [rax + 8], 0
mov dword [rax + 4], ecx
mov dword [rax + 0xc], ebx
mov dword [rax + 0x10], esi
mov byte [rax + 1], 0xfd
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x14], edx
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
jne 0x1401d8720
mov rdx, qword [r14 + 0x88]
movsxd r10, r15d
lea rax, [r10 + r10*2]
lea rax, [rdx + rax*8]
mov dword [rax + 8], r8d
xor r15d, r15d
mov dword [rsp + 0x5c], edi
mov edi, r15d
mov r15d, ebx
mov ebx, dword [rsp + 0x50]
nop word cs:[rax + rax]
lea eax, [r15 + rdi]
mov r9d, edi
mov r8d, ebx
mov edx, 0x5e
mov dword [rsp + 0x20], eax
mov rcx, r14
add edi, 1
call sym.sqlite3VdbeAddOp3
cmp edi, esi
jne 0x1401d86f0
mov edi, dword [rsp + 0x5c]
jmp 0x1401d83ba
mov dword [0x140440548], r8d
jmp 0x1401d86d5
mov rdx, r8
call dbg.computeIndexAffStr
mov rcx, qword [r13]
mov rdx, rax
jmp 0x1401d83a2
mov dword [rsp + 0x28], esi
mov r8d, dword [rsp + 0x50]
mov edx, ecx
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov rcx, r14
call dbg.addOp4IntSlow
mov r8d, dword [r14 + 0x90]
mov edx, eax
jmp 0x1401d86ab
xor r8d, r8d
mov edx, 9
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], 0
call dbg.growOp3
mov edx, dword [r14 + 0x90]
mov r8d, dword [r14 + 0x94]
mov r15d, eax
jmp 0x1401d8659