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

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
dec dword [rcx + 0x48]
xor edi, edi
mov r13d, dword [rcx + 0x48]
mov r14, rcx
mov eax, dword [rdx + 0x30]
mov r12d, r9d
mov r15, qword [rcx + 0x10]
and eax, 0x80
mov rsi, r8
mov rbx, rdx
mov ebp, edi
mov dword [rsp + 0x80], r13d
mov ecx, 0x1f
mov dword [rsp + 0x88], eax
cmp byte [rsp + 0xc8], dil
jne 0x1400a30a5
movsx r8d, word [rsp + 0xb0]
test eax, eax
mov edx, 0x1c
cmove edx, ecx
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1400a3069
mov eax, dword [rsp + 0xa8]
mov r9d, r13d
mov dword [rsp + 0x28], r8d
mov rcx, r15
mov r8d, r12d
mov dword [rsp + 0x20], eax
call fcn.140065410
jmp 0x1400a30a5
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov byte [rax + rcx*8], dl
mov edx, dword [rsp + 0xa8]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8 + 2], di
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0x10], r8d
mov byte [rax + rcx*8 + 1], 0xfd
mov rax, qword [r14]
mov ecx, dword [rax + 0x30]
bt rcx, 0xe
jae 0x1400a30d7
cmp byte [rbx + 0x3f], dil
jne 0x1400a30d7
mov rcx, qword [rbx + 0x60]
xor r8d, r8d
mov rdx, qword [rbx]
add rcx, 0x50
call fcn.14003e250
cmp qword [rax + 0x10], rdi
jne 0x1400a30e0
cmp qword [rbx + 0x48], rdi
jne 0x1400a30e0
test rsi, rsi
je 0x1400a33d8
cmp byte [rbx + 0x3f], 2
jne 0x1400a30ed
mov ebp, 0xffffffff
jmp 0x1400a313d
mov rdi, rsi
test rsi, rsi
je 0x1400a313b
movzx r12d, byte [rsp + 0xc0]
nop
cmp byte [rdi + 0x10], 0x81
jne 0x1400a3132
test byte [rdi + 0x11], 3
je 0x1400a3132
cmp byte [rdi + 0x12], 0
je 0x1400a3119
mov ebp, 0xffffffff
jmp 0x1400a3132
mov r9d, r12d
mov r8, rbx
mov rdx, rdi
mov rcx, r14
call fcn.1400d6540
test rax, rax
je 0x1400a3132
or ebp, dword [rax + 0x1c]
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1400a3100
xor edi, edi
mov rdx, rbx
mov rcx, r14
call fcn.1400ac000
mov edx, dword [r14 + 0x3c]
mov r12d, eax
movsx ecx, word [rbx + 0x36]
or r12d, ebp
inc ecx
lea ebp, [rdx + 1]
add edx, ecx
mov dword [r14 + 0x3c], edx
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1400a3192
mov r8d, dword [rsp + 0xa8]
mov r9d, ebp
mov edx, 0x50
mov dword [rsp + 0x20], edi
mov rcx, r15
call fcn.1400653b0
xor r8d, r8d
jmp 0x1400a31ca
mov edx, dword [rsp + 0xa8]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
xor r8d, r8d
mov dword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov edi, r8d
cmp r8w, word [rbx + 0x36]
jge 0x1400a3294
mov r13d, dword [rsp + 0x98]
cmp r12d, 0xffffffff
je 0x1400a31f9
cmp edi, 0x1f
jg 0x1400a327e
bt r12d, edi
jae 0x1400a327e
test byte [rbx + 0x30], 0x20
je 0x1400a325c
test di, di
js 0x1400a325c
movsx eax, di
movzx edx, r8w
mov r10d, r8d
test eax, eax
jle 0x1400a3238
mov r8, qword [rbx + 8]
mov r10d, eax
add r8, 0x12
mov r9d, eax
test byte [r8], 0x20
lea ecx, [rdx + 1]
lea r8, [r8 + 0x18]
cmovne cx, dx
movzx edx, cx
sub r9, 1
jne 0x1400a3220
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x1400a3257
movzx eax, word [rbx + 0x38]
sub ax, dx
add ax, r10w
jmp 0x1400a325f
movzx eax, dx
jmp 0x1400a325f
movzx eax, di
movsx ecx, ax
mov r9d, edi
inc ecx
mov r8d, r13d
add ecx, ebp
mov rdx, rbx
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.1400865a0
xor r8d, r8d
movsx eax, word [rbx + 0x36]
inc edi
cmp edi, eax
jl 0x1400a31e0
mov r13d, dword [rsp + 0x80]
mov r12d, dword [r15 + 0x90]
mov rdi, rsi
test rsi, rsi
je 0x1400a32fd
cmp byte [rdi + 0x10], 0x81
jne 0x1400a32f4
cmp byte [rdi + 0x11], 1
jne 0x1400a32f4
cmp byte [rdi + 0x12], 0
jne 0x1400a32d9
movzx eax, byte [rsp + 0xc0]
mov r9d, ebp
mov dword [rsp + 0x28], r13d
mov r8, rbx
mov rdx, rdi
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400d6590
jmp 0x1400a32f4
cmp qword [r14 + 0xb0], 0
jne 0x1400a32f4
mov r9d, ebp
mov r8, rbx
mov rdx, rdi
mov rcx, r14
call fcn.1400d5710
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1400a32a3
movsxd rcx, dword [r15 + 0x90]
cmp r12d, ecx
jge 0x1400a33ab
cmp dword [rsp + 0x88], 0
mov edx, 0x1c
movsx r8d, word [rsp + 0xb0]
mov eax, 0x1f
cmove edx, eax
cmp dword [r15 + 0x94], ecx
jg 0x1400a335e
mov eax, dword [rsp + 0xa8]
mov r9d, r13d
mov dword [rsp + 0x28], r8d
mov rcx, r15
mov r8d, dword [rsp + 0x98]
mov dword [rsp + 0x20], eax
call fcn.140065410
mov edi, 0xffffffff
jmp 0x1400a33b2
lea eax, [rcx + 1]
xor r12d, r12d
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov edi, 0xffffffff
mov byte [rax + rcx*8], dl
mov edx, dword [rsp + 0x98]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0xa8]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0x10], r8d
mov byte [rax + rcx*8 + 1], 0xfd
jmp 0x1400a33b2
mov edi, dword [rsp + 0xd0]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x28], eax
mov r8d, ebp
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.1400ab740
mov r12d, dword [rsp + 0x98]
jmp 0x1400a33df
mov edi, dword [rsp + 0xd0]
cmp byte [rbx + 0x3f], 2
je 0x1400a3596
mov r9d, dword [rsp + 0xa0]
xor eax, eax
mov dword [rsp + 0x28], edi
mov r8d, r12d
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.1400a36e0
movsxd rcx, dword [r15 + 0x90]
xor r8d, r8d
cmp byte [rsp + 0xb8], r8b
mov edx, r8d
setne dl
cmp dword [r15 + 0x94], ecx
jg 0x1400a3445
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r12d
mov edx, 0x82
mov rcx, r15
call fcn.1400653b0
jmp 0x1400a3474
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x82
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
cmp byte [r14 + 0x1e], 0
je 0x1400a34cd
mov r8, qword [rbx]
test r8, r8
je 0x1400a3501
lea r9, str.sqlite_stat1
sub r9, r8
lea r10, [0x14017c790]
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1400a34b6
test edx, edx
je 0x1400a34cd
inc r8
jmp 0x1400a34a0
movzx ecx, byte [rax + r10]
movzx edx, byte [rdx + r10]
sub edx, ecx
jne 0x1400a34c9
inc r8
jmp 0x1400a34a0
test edx, edx
jne 0x1400a3501
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x1400a34e5
mov r8, rbx
mov edx, 0xfffffffb
call fcn.140065f30
jmp 0x1400a3501
movsxd rax, dword [r15 + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xfb
mov qword [rax + rcx*8 - 8], rbx
movzx r8d, byte [rsp + 0xc8]
test r8b, r8b
je 0x1400a352c
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x1400a352c
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov word [rax + rcx*8 - 0x16], 4
test edi, edi
js 0x1400a356b
cmp edi, r12d
je 0x1400a356b
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1400a363e
xor eax, eax
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 0x82
mov rcx, r15
call fcn.1400653b0
movzx r8d, byte [rsp + 0xc8]
xor r9d, r9d
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x1400a3596
mov edx, 2
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
cmp r8b, dl
cmovne dx, r9w
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [r14]
mov ecx, dword [rax + 0x30]
bt rcx, 0xe
jae 0x1400a35ff
mov rcx, qword [rbx + 0x60]
xor r8d, r8d
mov rdx, qword [rbx]
add rcx, 0x50
call fcn.14003e250
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x1400a35ff
xor r12d, r12d
xor r9d, r9d
mov r8, rdi
mov rdx, rbx
mov rcx, r14
call fcn.1400ac2f0
test rax, rax
je 0x1400a35f6
mov dword [rsp + 0x28], r12d
mov r9d, ebp
mov r8, rbx
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.1400d6590
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x1400a35c2
test rsi, rsi
je 0x1400a3698
cmp byte [rsi + 0x10], 0x81
jne 0x1400a368b
cmp byte [rsi + 0x11], 2
jne 0x1400a368b
cmp byte [rsi + 0x12], 0
jne 0x1400a3670
movzx eax, byte [rsp + 0xc0]
mov r9d, ebp
mov dword [rsp + 0x28], r13d
mov r8, rbx
mov rdx, rsi
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400d6590
jmp 0x1400a368b
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x82
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], r9
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x1400a356e
cmp qword [r14 + 0xb0], 0
jne 0x1400a368b
mov r9d, ebp
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.1400d5710
mov rsi, qword [rsi + 0x40]
test rsi, rsi
jne 0x1400a3608
mov rcx, qword [r15 + 0x18]
not r13d
mov eax, dword [rcx + 0x4c]
add eax, dword [rcx + 0x48]
jns 0x1400a36b4
mov r8d, r13d
mov rdx, r15
call fcn.140065c60
jmp 0x1400a36c5
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd rdx, r13d
mov dword [rcx + rdx*4], eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret