Function at 0x1402257e0
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, 0x48
mov rbx, qword [rcx + 8]
mov rbp, qword [rbx]
mov rdi, rcx
mov r13d, edx
mov r12, r8
call fcn.140226450
mov al, byte [rdi + 0x10]
cmp al, 2
je 0x1401d8977
dec al
jne 0x1401d841d
test r13d, r13d
je 0x1401d895a
mov rax, qword [rdi]
test byte [rax + 0x33], 2
je 0x1401d8431
cmp byte [rbp + 0x12], 0
jne 0x1401d8431
and word [rbx + 0x28], 0xfffe
mov eax, dword [rbx + 0x28]
test al, 1
je 0x1401d8442
test r13d, r13d
je 0x1401d8447
jmp 0x1401d8819
test r13d, r13d
jne 0x1401d844d
test al, 0x80
jne 0x1401d8457
jmp 0x1401d8493
cmp byte [rbx + 0x24], 2
je 0x1401d8457
test al, 0x80
je 0x1401d8463
mov rax, qword [rbx + 0x80]
mov rax, qword [rax]
jmp 0x1401d8485
cmp r13d, 1
jle 0x1401d8493
mov rax, qword [rbx + 0x78]
test rax, rax
je 0x1401d8493
mov rdx, qword [rax]
cmp rdx, rdi
je 0x1401d847f
mov rax, qword [rdx]
jmp 0x1401d8485
mov rax, qword [rax + 0x10]
jmp 0x1401d846d
mov esi, 0x106
test rax, rax
jne 0x1401d8a1e
mov r8d, 1
mov edx, 1
mov rcx, rdi
call fcn.140215c30
mov esi, eax
test eax, eax
jne 0x1401d8a1e
mov eax, dword [rbx + 0x28]
and eax, 0xffffffef
cmp dword [rbx + 0x40], 0
mov word [rbx + 0x28], ax
jne 0x1401d84c7
or eax, 0x10
mov word [rbx + 0x28], ax
cmp qword [rbx + 0x18], 0
jne 0x1401d877e
mov rcx, qword [rbx]
call fcn.1402457d0
mov esi, eax
test eax, eax
jne 0x1401d88f2
xor r9d, r9d
lea r8, [rsp + 0x38]
mov edx, 1
mov rcx, rbx
call fcn.1401d8fd0
mov esi, eax
test eax, eax
jne 0x1401d88f2
mov r15, qword [rsp + 0x38]
mov rsi, qword [rbx]
mov r14, qword [r15 + 0x50]
mov eax, dword [rsi + 0x20]
mov r11d, dword [r14 + 0x1c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x24], eax
test r11d, r11d
mov dword [rsp + 0x2c], r11d
je 0x1401d854c
lea rdx, [r14 + 0x5c]
lea rcx, [r14 + 0x18]
mov r8d, 4
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d854c
mov r11d, dword [rsp + 0x2c]
bswap r11d
mov dword [rsp + 0x24], r11d
mov rax, qword [rbx + 8]
test byte [rax + 0x33], 2
jne 0x1401d86ef
cmp dword [rsp + 0x24], 0
je 0x1401d86ef
mov r8d, 0x10
lea rdx, str.SQLite_format_3
mov rcx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d8754
cmp byte [r14 + 0x12], 2
jbe 0x1401d858e
or word [rbx + 0x28], 1
cmp byte [r14 + 0x13], 2
ja 0x1401d8754
jne 0x1401d85e6
test byte [rbx + 0x28], 0x20
jne 0x1401d85e6
xor r10d, r10d
mov rcx, rsi
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], r10d
call fcn.140245060
mov esi, eax
test eax, eax
je 0x1401d85d1
mov rcx, qword [r15 + 0x70]
call fcn.140216880
xor r9d, r9d
mov qword [rbx + 0x18], r9
jmp 0x1401d88f2
cmp dword [rsp + 0x34], 0
jne 0x1401d85e6
mov rcx, qword [r15 + 0x70]
call fcn.140216880
jmp 0x1401d874d
lea rcx, [r14 + 0x15]
mov r8d, 3
lea rdx, [0x14036e5d7]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d8754
movzx esi, byte [r14 + 0x10]
movzx eax, byte [r14 + 0x11]
shl esi, 8
shl eax, 0x10
or esi, eax
lea eax, [rsi - 1]
test eax, esi
jne 0x1401d8754
lea eax, [rsi - 0x101]
cmp eax, 0xfeff
ja 0x1401d8754
movzx r8d, byte [r14 + 0x14]
mov edx, esi
sub edx, r8d
cmp esi, dword [rbx + 0x34]
je 0x1401d8682
mov rcx, qword [r15 + 0x70]
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x24], edx
call fcn.140216880
mov edx, dword [rsp + 0x24]
mov dword [rbx + 0x34], esi
mov rcx, rbx
or word [rbx + 0x28], 2
mov dword [rbx + 0x38], edx
call fcn.1401e4910
mov r8d, dword [rsp + 0x28]
mov rcx, qword [rbx]
lea rdx, [rbx + 0x34]
call fcn.140245690
mov esi, eax
jmp 0x1401d8775
mov esi, dword [rsp + 0x24]
cmp dword [rsp + 0x28], esi
jae 0x1401d86c7
mov rax, qword [rbx + 8]
mov esi, dword [rsp + 0x28]
mov rax, qword [rax + 0x30]
mov dword [rsp + 0x24], esi
and eax, 0x10000001
dec rax
je 0x1401d86c7
mov ecx, 0x11d7b
call fcn.14022ad00
mov rcx, qword [r15 + 0x70]
mov esi, eax
call fcn.140216880
xor r8d, r8d
mov qword [rbx + 0x18], r8
jmp 0x1401d8775
cmp edx, 0x1df
jbe 0x1401d8754
or word [rbx + 0x28], 2
mov dword [rbx + 0x38], edx
cmp dword [r14 + 0x34], 0
setne byte [rbx + 0x21]
cmp dword [r14 + 0x40], 0
setne byte [rbx + 0x22]
jmp 0x1401d86f5
xor ecx, ecx
mov dword [rsp + 0x24], ecx
mov r10d, dword [rbx + 0x38]
mov r11d, 0xff
xor edx, edx
mov qword [rbx + 0x18], r15
lea r8d, [r10 - 0xc]
sub r10d, 0x23
mov eax, r8d
mov word [rbx + 0x2e], r10w
shl eax, 6
div r11d
xor edx, edx
lea ecx, [rax - 0x17]
mov eax, r8d
shl eax, 5
mov word [rbx + 0x2a], cx
div r11d
sub eax, 0x17
mov word [rbx + 0x2c], ax
mov word [rbx + 0x30], ax
mov eax, 0x7f
cmp cx, ax
cmova ecx, eax
mov eax, dword [rsp + 0x24]
mov byte [rbx + 0x25], cl
mov dword [rbx + 0x40], eax
xor esi, esi
jmp 0x1401d84c7
mov rcx, qword [r15 + 0x70]
mov esi, 0x1a
call fcn.140216880
xor edx, edx
mov rcx, rbx
mov qword [rbx + 0x18], rdx
call fcn.1402764a0
jmp 0x1401d8a1e
test esi, esi
je 0x1401d874d
jmp 0x1401d88f2
test esi, esi
jne 0x1401d88f2
test r13d, r13d
je 0x1401d88ee
test byte [rbx + 0x28], 1
jne 0x1401d8811
mov rax, qword [rdi]
mov esi, dword [rbp + 0x30]
mov al, byte [rax + 0x66]
test esi, esi
jne 0x1401d88c5
cmp al, 2
sete byte [rbp + 0x1a]
cmp byte [rbp + 0x15], 1
jne 0x1401d88b9
mov rax, qword [rbp + 0x128]
test rax, rax
je 0x1401d888b
cmp byte [rbp + 8], 0
je 0x1401d8803
cmp byte [rax + 0x3f], 0
jne 0x1401d8803
mov edx, 4
mov rcx, rbp
call fcn.140210cd0
mov esi, eax
test eax, eax
jne 0x1401d88c5
mov rsi, qword [rbp + 0x128]
movsx edx, word [rsi + 0x3c]
mov rcx, rsi
add edx, 3
call fcn.14027b7a0
mov byte [rsi + 0x3f], 1
mov r14, qword [rbp + 0x128]
cmp byte [r14 + 0x42], 0
je 0x1401d8823
mov rcx, rbx
call fcn.1402764a0
mov esi, 8
jmp 0x1401d8a1e
mov r8d, 1
xor edx, edx
mov rcx, r14
call fcn.14027b190
mov esi, eax
test eax, eax
jne 0x1401d88c5
mov rax, qword [r14 + 0x30]
mov byte [r14 + 0x40], 1
lea rcx, [r14 + 0x48]
mov r8d, 0x30
mov rdx, qword [rax]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d8874
mov eax, dword [rbp + 0x20]
mov byte [rbp + 0x15], 2
mov dword [rbp + 0x2c], eax
mov dword [rbp + 0x28], eax
mov dword [rbp + 0x24], eax
xor eax, eax
mov qword [rbp + 0x60], rax
jmp 0x1401d88b9
mov r8d, 1
xor edx, edx
mov rcx, r14
call fcn.14027b780
mov byte [r14 + 0x40], 0
jmp 0x1401d88cd
mov edx, 2
mov rcx, rbp
call fcn.140210cd0
mov esi, eax
cmp r13d, 1
jle 0x1401d88b3
test eax, eax
jne 0x1401d88c5
mov edx, 4
mov rcx, rbp
call fcn.140212780
mov esi, eax
test esi, esi
je 0x1401d885c
jmp 0x1401d88c5
mov rcx, rbx
call fcn.14020f310
mov esi, eax
jmp 0x1401d88ee
cmp esi, 0x205
jne 0x1401d88f2
cmp byte [rbx + 0x24], 0
mov rcx, rbx
jne 0x1401d88e2
call fcn.1402764a0
mov esi, 5
jmp 0x1401d8904
call fcn.1402764a0
mov esi, 0x205
jmp 0x1401d8904
test esi, esi
je 0x1401d8923
mov rcx, rbx
call fcn.1402764a0
cmp sil, 5
jne 0x1401d8a1e
cmp byte [rbx + 0x24], 0
jne 0x1401d8a1e
mov rcx, rbx
call fcn.1401d9180
test eax, eax
jne 0x1401d84c7
jmp 0x1401d8a1e
cmp byte [rdi + 0x10], 0
jne 0x1401d8946
inc dword [rbx + 0x3c]
cmp byte [rdi + 0x11], 0
je 0x1401d8946
mov byte [rdi + 0x3c], 1
mov rax, qword [rbx + 0x78]
mov qword [rdi + 0x40], rax
lea rax, [rdi + 0x30]
mov qword [rbx + 0x78], rax
mov al, byte [rbx + 0x24]
test r13d, r13d
jne 0x1401d89a7
mov byte [rdi + 0x10], 1
test al, al
jne 0x1401d895a
mov byte [rbx + 0x24], 1
test r12, r12
je 0x1401d8970
mov rax, qword [rbx + 0x18]
mov rax, qword [rax + 0x50]
mov eax, dword [rax + 0x28]
bswap eax
mov dword [r12], eax
xor esi, esi
jmp 0x1401d8a1e
test r12, r12
je 0x1401d898d
mov rax, qword [rbx + 0x18]
mov rax, qword [rax + 0x50]
mov eax, dword [rax + 0x28]
bswap eax
mov dword [r12], eax
test r13d, r13d
je 0x1401d8970
mov rax, qword [rdi]
mov rcx, rbp
mov edx, dword [rax + 0x2f0]
call fcn.140245040
mov esi, eax
jmp 0x1401d8a1e
mov byte [rdi + 0x10], 2
cmp al, 1
ja 0x1401d89b3
mov byte [rbx + 0x24], 2
mov eax, dword [rbx + 0x28]
mov r14, qword [rbx + 0x18]
mov qword [rbx + 0x80], rdi
and eax, 0xffffffbf
dec r13d
jle 0x1401d89cc
or eax, 0x40
mov rdx, qword [r14 + 0x50]
mov word [rbx + 0x28], ax
mov eax, dword [rdx + 0x1c]
bswap eax
cmp dword [rbx + 0x40], eax
jne 0x1401d89e8
test r12, r12
je 0x1401d8992
mov eax, dword [rdx + 0x28]
jmp 0x1401d8a13
mov rcx, qword [r14 + 0x70]
call fcn.140245de0
mov esi, eax
test eax, eax
jne 0x1401d8a1e
mov eax, dword [rbx + 0x40]
mov rdx, qword [r14 + 0x50]
bswap eax
mov dword [rdx + 0x1c], eax
test r12, r12
je 0x1401d8992
mov rax, qword [rbx + 0x18]
mov rax, qword [rax + 0x50]
mov eax, dword [rax + 0x28]
bswap eax
mov dword [r12], eax
jmp 0x1401d8992
mov rcx, rdi
call fcn.140227950
mov eax, esi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rcx + 0x11], 0
jne 0x1402257f5
mov al, byte [rcx + 0x10]
test al, al
je 0x1402257f5
dec al
jne 0x140225815
test edx, edx
je 0x1402257fa
jmp 0x1401d83e0
test r8, r8
je 0x140225843
mov rax, qword [rcx + 8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x50]
mov eax, dword [rax + 0x28]
bswap eax
mov dword [r8], eax
jmp 0x140225843
mov r9, qword [rcx + 8]
test r8, r8
je 0x14022582e
mov rax, qword [r9 + 0x18]
mov rax, qword [rax + 0x50]
mov eax, dword [rax + 0x28]
bswap eax
mov dword [r8], eax
test edx, edx
je 0x140225843
mov rax, qword [rcx]
mov rcx, qword [r9]
mov edx, dword [rax + 0x2f0]
jmp fcn.140245040
xor eax, eax
ret