Function at 0x43c41c
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 rax, qword [rdx + 0x148]
mov r12d, dword [rdx + 0x34]
mov ebx, dword [rdx + 0x38]
mov rdi, qword [rcx]
mov qword [rcx + 0xb0], rax
mov eax, dword [rdx + 0x130]
mov r15, rcx
mov rsi, rdx
mov qword [rdx + 0x148], 0
add ebx, r12d
test r12d, r12d
mov word [rsp + 0x3e], ax
mov eax, dword [rdx + 0x88]
mov dword [rsp + 0x44], eax
jne 0x43c47c
test ebx, ebx
setg al
cmp al, 1
sbb ebx, 0xffffffff
mov eax, dword [r15 + 0x90]
mov ecx, dword [rsi + 0x3c]
shl eax, 5
movsxd rdx, eax
add rdx, qword [r15 + 0x88]
sub ecx, eax
mov eax, ecx
mov rcx, r15
and eax, 0xfffffff8
cdqe
mov qword [rsp + 0x48], rdx
lea rdx, [rsp + 0x44]
mov qword [rsp + 0x50], rax
call sym.resolveP2Values
xor eax, eax
cmp byte [rsi + 0x20], 0
je 0x43c4c4
xor eax, eax
cmp byte [rsi + 0x21], 0
setne al
mov edx, eax
mov al, byte [r15 + 0xc8]
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [r15 + 0xc8], al
mov dl, byte [rsi + 0x133]
test dl, dl
je 0x43c56d
cmp ebx, 0xa
mov ecx, 0xa
cmovl ebx, ecx
mov ecx, edx
and eax, 0xfffffff3
and ecx, 3
shl ecx, 2
or eax, ecx
cmp dl, 2
mov byte [r15 + 0xc8], al
jne 0x43c528
mov edx, 4
mov rcx, r15
mov r13d, 0xc
call sym.sqlite3VdbeSetNumCols
mov ebp, 8
jmp 0x43c53d
mov edx, 8
mov rcx, r15
mov r13d, 8
call sym.sqlite3VdbeSetNumCols
xor ebp, ebp
lea r14, str.addr
movsxd rsi, ebp
cmp r13d, esi
jle 0x43c56d
mov r9, qword [r14 + rsi*8]
mov edx, esi
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], 0
sub edx, ebp
inc rsi
call sym.sqlite3VdbeSetColName
jmp 0x43c547
and byte [r15 + 0xc8], 0xfc
movsxd r14, ebx
movsxd rbp, r12d
mov qword [rsp + 0x58], 0
shl rbp, 3
imul r14, r14, 0x38
lea rsi, [rsp + 0x48]
mov rcx, rsi
mov rdx, r14
call sym.allocSpace.part.104
movsx r13, word [rsp + 0x3e]
mov qword [r15 + 0x68], rax
imul r13, r13, 0x38
mov rdx, r13
call sym.allocSpace.part.104
movsxd rdx, dword [rsp + 0x44]
mov qword [r15 + 0x80], rax
shl rdx, 3
call sym.allocSpace.part.104
mov rdx, rbp
mov qword [r15 + 0x70], rax
call sym.allocSpace.part.104
mov rdx, qword [rsp + 0x58]
mov qword [r15 + 0x78], rax
test rdx, rdx
je 0x43c689
mov rcx, rdi
call sym.sqlite3DbMallocRawNN
mov qword [r15 + 0x100], rax
cmp byte [rdi + 0x67], 0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x50], rax
je 0x43c61d
mov word [r15 + 0x20], 0
mov qword [r15 + 0x24], 0
jmp 0x43c6fa
mov rax, qword [r15 + 0x68]
test rax, rax
jne 0x43c631
mov rdx, r14
mov rcx, rsi
call sym.allocSpace.part.104
mov qword [r15 + 0x68], rax
mov rax, qword [r15 + 0x80]
test rax, rax
jne 0x43c64c
mov rdx, r13
mov rcx, rsi
call sym.allocSpace.part.104
mov qword [r15 + 0x80], rax
mov rax, qword [r15 + 0x70]
test rax, rax
jne 0x43c66d
movsxd rdx, dword [rsp + 0x44]
mov rcx, rsi
shl rdx, 3
call sym.allocSpace.part.104
mov qword [r15 + 0x70], rax
mov rax, qword [r15 + 0x78]
test rax, rax
jne 0x43c685
mov rdx, rbp
mov rcx, rsi
call sym.allocSpace.part.104
mov qword [r15 + 0x78], rax
cmp byte [rdi + 0x67], 0
jne 0x43c609
movsx edx, word [rsp + 0x3e]
mov dword [r15 + 0x28], r12d
mov ax, word [rsp + 0x3e]
test edx, edx
mov word [r15 + 0x20], ax
jle 0x43c6ca
mov rax, qword [r15 + 0x80]
mov word [rax + 0x14], 1
add rax, 0x38
mov qword [rax - 0x20], rdi
mov dword [rax - 0x18], 0
dec edx
jne 0x43c6b1
test ebx, ebx
mov dword [r15 + 0x24], ebx
jle 0x43c6ef
mov rax, qword [r15 + 0x68]
mov word [rax + 0x14], 0
add rax, 0x38
mov qword [rax - 0x20], rdi
mov dword [rax - 0x18], 0
dec ebx
jne 0x43c6d6
mov rdi, qword [r15 + 0x78]
xor eax, eax
mov rcx, rbp
rep stosb byte [rdi], al
movabs rax, 0xffffffff00000001
mov byte [r15 + 0xc5], 1
mov word [r15 + 0xc2], 0xff02
mov qword [r15 + 0x2c], rax
mov qword [r15 + 0x34], 0
mov qword [r15 + 0x3c], 0
mov qword [r15 + 0x50], 0
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret