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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x168
movaps xmmword [rsp + 0x110], xmm9
mov rax, qword [0x1800e2008]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x1c0]
mov rdi, rcx
mov qword [rsp + 0x98], rax
xor esi, esi
mov rax, qword [rsp + 0x1c8]
mov r13, rdx
mov qword [rsp + 0x70], rax
xorps xmm9, xmm9
movzx ebx, byte [rdi + 0x24]
xor eax, eax
mov dword [rsp + 0x38], eax
inc rbx
movsxd r12, r8d
mov rax, r12
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x1d0]
mov qword [rsp + 0x68], rax
add rax, 2
imul rbx, rax
mov qword [rsp + 0xa0], r9
shl rbx, 2
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x34], esi
call sym.SQLite3.dll_sqlite3_initialize
test eax, eax
jne 0x1800a9ad1
mov rcx, rbx
call fcn.1800041a0
mov qword [rsp + 0x50], rax
mov r14, rax
test rax, rax
je 0x1800a9ad1
movzx r9d, byte [rdi + 0x24]
mov r8, rbx
mov ecx, r9d
mov qword [rsp + 0x160], rbp
imul ecx, r12d
mov qword [rsp + 0x158], r15
movsxd rdx, ecx
lea rcx, [rdx + r9*2]
xor edx, edx
lea rbp, [rax + rcx*4]
mov rcx, rax
call fcn.1800af360
mov r11, qword [rsp + 0x40]
xor edi, edi
movzx ecx, byte [r11 + 0x24]
test cl, cl
je 0x1800a948b
mov rbx, r14
nop dword [rax]
nop dword [rax + rax]
movzx ecx, cl
movsxd rax, esi
lea rcx, [rax + rcx*2]
lea rdx, [r14 + rcx*4]
xor ecx, ecx
mov qword [rbx], rdx
test r12d, r12d
jle 0x1800a9455
xor edx, edx
nop word [rax + rax]
mov rax, qword [rbx]
lea rdx, [rdx + 4]
mov dword [rdx + rax - 4], ecx
inc ecx
cmp ecx, r12d
jl 0x1800a9440
mov rdx, qword [rbx]
mov qword [rsp + 0x28], rbp
mov r9d, edi
mov r8d, r12d
mov qword [rsp + 0x20], r13
mov rcx, r11
call fcn.1800a9120
mov r11, qword [rsp + 0x40]
inc edi
add esi, r12d
add rbx, 8
movzx eax, byte [r11 + 0x24]
movzx ecx, al
cmp edi, eax
jl 0x1800a9420
mov esi, dword [rsp + 0x34]
xor r8d, r8d
movzx r9d, cl
mov dword [rsp + 0x4c], r9d
mov dword [rsp + 0x3c], r8d
test cl, cl
je 0x1800a98bb
movzx ecx, byte [r11 + 0x27]
lea r15, [r12 - 1]
mov eax, dword [r11 + 0x20]
sub eax, 4
movaps xmmword [rsp + 0x140], xmm6
cdq
movaps xmmword [rsp + 0x130], xmm7
idiv ecx
movaps xmmword [rsp + 0x120], xmm8
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov rcx, r14
mov edi, edx
mov qword [rsp + 0x60], rcx
shr edi, 0x1f
add edi, edx
mov dword [rsp + 0x48], edi
sub r12d, edi
xor eax, eax
movsxd r14, edi
mov dword [rsp + 0x30], eax
xorps xmm6, xmm6
xorps xmm7, xmm7
xorps xmm8, xmm8
cmp r14d, r12d
jg 0x1800a9861
mov r9, qword [rcx]
mov rbp, r14
movzx ebx, byte [r11 + 0x25]
movzx esi, byte [r11 + 0x26]
mov qword [rsp + 0x90], r9
movsxd rcx, dword [r9 + r15*4]
movsxd rax, dword [r9]
lea r8, [rcx + rcx*2]
lea rdx, [rax + rax*2]
shl rdx, 4
lea rcx, [rbx - 2]
shl r8, 4
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x58], rcx
movups xmm0, xmmword [rdx + r13]
mov r10d, 1
movups xmm1, xmmword [rdx + r13 + 0x10]
movups xmmword [rsp + 0xd8], xmm0
movups xmm0, xmmword [rdx + r13 + 0x20]
movups xmmword [rsp + 0xe8], xmm1
movups xmm1, xmmword [r8 + r13]
movups xmmword [rsp + 0xf8], xmm0
movups xmm0, xmmword [r8 + r13 + 0x10]
movups xmmword [rsp + 0xa8], xmm1
movups xmm1, xmmword [r8 + r13 + 0x20]
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm1
cmp r15, r10
jle 0x1800a970f
movzx edi, byte [r11 + 0x26]
lea r11, [r9 + 4]
nop
movsxd rax, dword [r11]
xor r8d, r8d
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, r13
cmp r10, rbp
jge 0x1800a9666
lea rax, [rsp + 0xe0]
sub rdx, rax
test dil, dil
jne 0x1800a9623
lea rax, [rsp + 0xe0]
movss xmm0, dword [rax]
add r8d, 2
movss xmm1, dword [rax + 4]
minss xmm0, dword [rdx + rax + 8]
maxss xmm1, dword [rdx + rax + 0xc]
lea rax, [rax + 8]
movss dword [rax - 8], xmm0
movss dword [rax - 4], xmm1
cmp r8d, ebx
jl 0x1800a95f2
jmp 0x1800a96f1
lea r9, [rsp + 0xe0]
nop dword [rax + rax]
mov ecx, dword [r9]
cmp ecx, dword [rdx + r9 + 8]
cmovge ecx, dword [rdx + r9 + 8]
mov dword [r9], ecx
mov ecx, dword [r9 + 4]
cmp ecx, dword [rdx + r9 + 0xc]
cmovle ecx, dword [rdx + r9 + 0xc]
add r8d, 2
mov dword [r9 + 4], ecx
lea r9, [r9 + 8]
cmp r8d, ebx
jl 0x1800a9630
jmp 0x1800a96f1
lea rax, [rsp + 0xb0]
sub rdx, rax
test dil, dil
jne 0x1800a96ae
lea rax, [rsp + 0xb0]
nop
movss xmm0, dword [rax]
add r8d, 2
movss xmm1, dword [rax + 4]
minss xmm0, dword [rdx + rax + 8]
maxss xmm1, dword [rdx + rax + 0xc]
lea rax, [rax + 8]
movss dword [rax - 8], xmm0
movss dword [rax - 4], xmm1
cmp r8d, ebx
jl 0x1800a9680
jmp 0x1800a96f1
lea r9, [rsp + 0xb0]
nop word [rax + rax]
mov ecx, dword [r9]
cmp ecx, dword [r9 + rdx + 8]
cmovge ecx, dword [r9 + rdx + 8]
mov dword [r9], ecx
mov ecx, dword [r9 + 4]
cmp ecx, dword [r9 + rdx + 0xc]
cmovle ecx, dword [r9 + rdx + 0xc]
add r8d, 2
mov dword [r9 + 4], ecx
lea r9, [r9 + 8]
cmp r8d, ebx
jl 0x1800a96c0
inc r10
add r11, 4
cmp r10, r15
jl 0x1800a95c0
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov edi, dword [rsp + 0x48]
xorps xmm2, xmm2
mov rax, rcx
test sil, sil
jne 0x1800a9734
movss xmm0, dword [rsp + rax*4 + 0xe4]
movss xmm1, dword [rsp + rax*4 + 0xe0]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
jmp 0x1800a974e
movd xmm0, dword [rsp + rax*4 + 0xe4]
movd xmm1, dword [rsp + rax*4 + 0xe0]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
sub rax, 2
subsd xmm0, xmm1
addsd xmm2, xmm0
jns 0x1800a9715
addsd xmm6, xmm2
xorps xmm3, xmm3
mov rax, rcx
test sil, sil
jne 0x1800a9785
movss xmm0, dword [rsp + rax*4 + 0xb4]
movss xmm1, dword [rsp + rax*4 + 0xb0]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
jmp 0x1800a979f
movd xmm0, dword [rsp + rax*4 + 0xb4]
movd xmm1, dword [rsp + rax*4 + 0xb0]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
sub rax, 2
subsd xmm0, xmm1
addsd xmm3, xmm0
jns 0x1800a9766
lea r8, [rsp + 0xa8]
mov rcx, r11
lea rdx, [rsp + 0xd8]
addsd xmm6, xmm3
call fcn.1800a88f0
mov r11, qword [rsp + 0x40]
lea rdx, [rsp + 0xa8]
mov rcx, r11
movaps xmm5, xmm0
call fcn.1800a87e0
mov rcx, r11
lea rdx, [rsp + 0xd8]
movaps xmm3, xmm0
call fcn.1800a87e0
addsd xmm3, xmm0
cmp r14d, edi
je 0x1800a9812
comisd xmm7, xmm5
ja 0x1800a9812
ucomisd xmm5, xmm7
jp 0x1800a9822
jne 0x1800a9822
comisd xmm8, xmm3
jbe 0x1800a9822
mov eax, r14d
movaps xmm7, xmm5
mov dword [rsp + 0x30], eax
movaps xmm8, xmm3
jmp 0x1800a9826
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
inc r14d
mov rdx, qword [rsp + 0x80]
inc rbp
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
cmp r14d, r12d
jle 0x1800a9554
mov r8d, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x4c]
test r8d, r8d
je 0x1800a986d
comisd xmm9, xmm6
jbe 0x1800a987f
mov esi, r8d
mov dword [rsp + 0x34], r8d
movaps xmm9, xmm6
mov dword [rsp + 0x38], eax
jmp 0x1800a9883
mov esi, dword [rsp + 0x34]
inc r8d
add rcx, 8
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x60], rcx
cmp r8d, r9d
jl 0x1800a94f0
mov r14, qword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
movaps xmm6, xmmword [rsp + 0x140]
mov r8, qword [rsp + 0x70]
xor r15d, r15d
movsxd rdx, dword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
movsxd r12, esi
mov rax, qword [r14 + r12*8]
movsxd rcx, dword [rax]
lea rax, [rcx + rcx*2]
add rax, rax
movups xmm0, xmmword [r13 + rax*8]
movups xmmword [r8], xmm0
movups xmm1, xmmword [r13 + rax*8 + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmm0, xmmword [r13 + rax*8 + 0x20]
movups xmmword [r8 + 0x20], xmm0
mov rax, qword [r14 + r12*8]
movsxd rcx, dword [rax + rdx*4]
lea rax, [rcx + rcx*2]
mov rcx, qword [rsp + 0x78]
add rax, rax
movups xmm0, xmmword [r13 + rax*8]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [r13 + rax*8 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [r13 + rax*8 + 0x20]
movups xmmword [rcx + 0x20], xmm0
test r9, r9
jle 0x1800a9a60
xor r14d, r14d
nop dword [rax + rax]
mov rax, qword [rsp + 0x50]
cmp r15d, edx
mov rsi, qword [rsp + 0x98]
mov rbp, rcx
cmovl rsi, qword [rsp + 0xa0]
cmovl rbp, r8
mov rax, qword [rax + r12*8]
movsxd rcx, dword [rax + r14*4]
mov rax, qword [rsi + 0x18]
lea rbx, [rcx + rcx*2]
movzx ecx, byte [r11 + 0x27]
movzx edi, byte [rax + 2]
movzx eax, byte [rax + 3]
shl edi, 8
add edi, eax
shl rbx, 4
mov eax, dword [r11 + 0x20]
add rbx, r13
sub eax, 4
cdq
idiv ecx
cmp edi, eax
jge 0x1800a99ce
mov r9d, edi
mov r8, rbx
mov rdx, rsi
mov rcx, r11
call fcn.1800a6880
mov rcx, qword [rsi + 0x18]
lea r8d, [rdi + 1]
mov r11, qword [rsp + 0x40]
mov eax, r8d
mov r9, qword [rsp + 0x68]
shr eax, 8
mov byte [rcx + 2], al
mov byte [rcx + 3], r8b
mov dword [rsi + 0x14], 1
xor r8d, r8d
lea rdx, [rbp + 8]
sub rbx, rbp
cmp byte [r11 + 0x26], r8b
jne 0x1800a9a12
nop
movss xmm0, dword [rdx]
add r8d, 2
movss xmm1, dword [rdx + 4]
minss xmm0, dword [rbx + rdx]
lea rdx, [rdx + 8]
movss dword [rdx - 8], xmm0
maxss xmm1, dword [rbx + rdx - 4]
movss dword [rdx - 4], xmm1
movzx eax, byte [r11 + 0x25]
cmp r8d, eax
jl 0x1800a99e0
jmp 0x1800a9a3e
mov ecx, dword [rdx]
cmp ecx, dword [rbx + rdx]
cmovge ecx, dword [rbx + rdx]
mov dword [rdx], ecx
mov ecx, dword [rdx + 4]
cmp ecx, dword [rbx + rdx + 4]
cmovle ecx, dword [rbx + rdx + 4]
add r8d, 2
mov dword [rdx + 4], ecx
lea rdx, [rdx + 8]
movzx eax, byte [r11 + 0x25]
cmp r8d, eax
jl 0x1800a9a12
mov edx, dword [rsp + 0x38]
inc r15d
mov r8, qword [rsp + 0x70]
inc r14
mov rcx, qword [rsp + 0x78]
cmp r14, r9
jl 0x1800a9940
mov r14, qword [rsp + 0x50]
cmp dword [0x1800e29b0], 0
mov r15, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x160]
je 0x1800a9ac4
mov rcx, qword [0x1800e69e8]
test rcx, rcx
je 0x1800a9a8b
call qword [0x1800e2a30]
mov rcx, r14
call qword [0x1800e29e8]
dec qword [0x1800e6778]
movsxd rcx, eax
sub qword [0x1800e6730], rcx
mov rcx, r14
call qword [0x1800e29d8]
mov rcx, qword [0x1800e69e8]
test rcx, rcx
je 0x1800a9acd
call qword [0x1800e2a40]
xor eax, eax
jmp 0x1800a9ad6
mov rcx, r14
call qword [0x1800e29d8]
xor eax, eax
jmp 0x1800a9ad6
mov eax, 7
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1800ae0b0
movaps xmm9, xmmword [rsp + 0x110]
add rsp, 0x168
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret