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

Disassembly:
lea r12, [rsp - 0xa8]
cmp r12, qword [r14 + 0x10]
jbe 0x659252
push rbp
mov rbp, rsp
sub rsp, 0x120
movq qword [rsp + 0x118], xmm15
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rbx
mov word [rsp + 0x140], cx
mov byte [rsp + 0x3d], 0
mov dword [rsp + 0x44], 0
mov ebx, 0x20
call sym.modernc.org_libc._TLS_.Alloc
lea rcx, [sym.modernc.org_sqlite_lib._wherePathSolver.deferwrap1]
mov qword [rsp + 0x108], rcx
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x110], rcx
lea rdx, [rsp + 0x108]
mov qword [rsp + 0x118], rdx
mov byte [rsp + 0x3d], 1
mov rdx, qword [rsp + 0x138]
mov rsi, rdx
movzx edi, byte [rdx + 0x40]
cmp edi, 1
jg 0x658205
mov ebx, 1
jmp 0x658216
cmp edi, 2
jne 0x658211
mov ebx, 5
jmp 0x658216
mov ebx, 0xa
mov qword [rsp + 0xa0], rax
mov r8, qword [rdx + 0x10]
test r8, r8
jne 0x658232
movzx r9d, word [rsp + 0x140]
jmp 0x658245
movzx r9d, word [rsp + 0x140]
movsx r10, r9w
nop
test r10d, r10d
jne 0x65824a
xor r8d, r8d
jmp 0x65824d
mov r8d, dword [r8]
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x74], edi
mov dword [rsp + 0x4c], r8d
mov rdx, qword [rdx]
mov qword [rsp + 0x88], rdx
movsxd rsi, edi
shl rsi, 3
add rsi, 0x20
movsxd r9, ebx
imul rsi, r9
shl rsi, 1
movsxd rsi, esi
movsxd r9, r8d
mov qword [rsp + 0x100], r9
lea rsi, [rsi + r9*2]
mov rdx, qword [rdx]
movsxd rsi, esi
mov rax, rcx
mov rcx, rsi
mov rbx, rdx
nop dword [rax + rax]
call sym.modernc.org_sqlite_lib._sqlite3DbMallocRawNN
test rax, rax
je 0x65830c
mov qword [rsp + 0xa8], rax
mov edx, dword [rsp + 0x58]
movsxd rsi, edx
shl rsi, 5
mov qword [rsp + 0xf8], rsi
lea rbx, [rsi + rax]
mov qword [rsp + 0xb8], rbx
xor ecx, ecx
mov edi, 0x20
mov rax, qword [rsp + 0x130]
call sym.modernc.org_libc.Xmemset
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xa8]
lea rdx, [rax + rdx*2]
mov esi, dword [rsp + 0x58]
mov r8d, esi
shl esi, 1
mov r9d, dword [rsp + 0x74]
mov rcx, rax
jmp 0x658347
mov dword [rsp + 0x44], 7
mov byte [rsp + 0x3d], 0
mov rdx, qword [rsp + 0x118]
mov rax, qword [rdx]
call rax
mov eax, dword [rsp + 0x44]
add rsp, 0x120
pop rbp
ret
mov r11, rax
mov qword [r11 + 0x18], rdx
movsxd r11, r9d
dec esi
add rax, 0x20
lea rdx, [rdx + r11*8]
test esi, esi
jg 0x658333
mov edi, dword [rsp + 0x4c]
test edi, edi
jne 0x658357
xor eax, eax
jmp 0x65839a
mov qword [rsp + 0xb0], rdx
mov rdi, qword [rsp + 0x100]
shl rdi, 1
mov rax, qword [rsp + 0x130]
mov rbx, rdx
xor ecx, ecx
call sym.modernc.org_libc.Xmemset
mov rcx, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x74]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x88]
mov r11, rbx
movsx r11, word [r11 + 0xe0]
mov r12, qword [rsp + 0xb8]
mov r13, r12
cmp r11d, 0x30
mov r15d, 0x30
cmovl r15d, r11d
mov word [r12 + 0x10], r15w
test edi, edi
je 0x6583e9
mov r11, r13
test r9d, r9d
mov r12d, 0xffffffff
mov r15d, edi
cmovne r15d, r12d
mov byte [r13 + 0x16], r15b
jmp 0x6583ec
mov r11, r13
mov qword [rsp + 0xb0], rax
mov r12, qword [rsp + 0x138]
mov rdx, rcx
xor esi, esi
mov r10d, 1
xor r13d, r13d
xor r15d, r15d
xor ecx, ecx
mov dword [rsp + 0x54], ecx
mov rcx, rdx
jmp 0x658439
inc esi
mov r10d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xb8]
mov r10d, dword [rsp + 0x50]
cmp esi, r9d
jge 0x65846d
mov qword [rsp + 0xf0], r11
mov qword [rsp + 0xb8], rcx
mov dword [rsp + 0x64], esi
mov qword [rsp + 0xe0], rax
xor eax, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xe0]
jmp 0x658980
test r10d, r10d
je 0x65847c
mov rax, r11
mov ecx, 1
jmp 0x6584e6
mov rcx, qword [0x00a30e10]
add rcx, 0x5d9b
mov rax, qword [rsp + 0x130]
xor edi, edi
call sym.modernc.org_sqlite_lib._sqlite3ErrorMsg
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rdx]
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0xa8]
call sym.modernc.org_sqlite_lib._sqlite3DbFreeNN
mov dword [rsp + 0x44], 1
mov byte [rsp + 0x3d], 0
mov rdx, qword [rsp + 0x118]
mov rsi, qword [rdx]
call rsi
mov eax, dword [rsp + 0x44]
add rsp, 0x120
pop rbp
nop
ret
inc ecx
mov r11, rsi
cmp ecx, r10d
jge 0x65850f
mov r13, r11
movsx r11, word [r11 + 0x12]
movsxd r15, ecx
shl r15, 5
add r15, rax
mov rsi, r15
movsx r15, word [r15 + 0x12]
cmp r15d, r11d
jl 0x6584e1
mov rsi, r13
jmp 0x6584e1
xor eax, eax
jmp 0x658568
mov rdi, r11
movsxd r13, eax
imul r15, r13, 0x68
lea r15, [r12 + r15]
lea r15, [r15 + 0x358]
shl r13, 3
add r13, qword [r11 + 0x18]
mov r13, qword [r13]
mov rcx, r15
mov qword [r15 + 0x58], r13
mov r15, rcx
movzx r13d, byte [r13 + 0x10]
mov byte [rcx + 0x38], r13b
mov r13, r12
movzx ecx, byte [r15 + 0x38]
imul rcx, rcx, 0x68
add rcx, qword [r13 + 8]
lea r13, [rcx + 8]
mov r13d, dword [r13 + 0x44]
mov dword [r15 + 4], r13d
inc eax
mov r11, rdi
cmp eax, r9d
jl 0x658513
mov qword [rsp + 0x90], r11
mov r13, r12
movzx r15d, word [r12 + 0x3c]
bt r15d, 8
jae 0x658640
bt r15d, 7
jb 0x658640
movzx r15d, byte [r12 + 0x43]
nop word [rax + rax]
test r15d, r15d
jne 0x658640
movzx r15d, word [rsp + 0x140]
test r15w, r15w
je 0x658640
mov rcx, qword [r12 + 0x18]
lea r8d, [r9 - 1]
mov rdi, r11
movsxd rdx, r8d
shl rdx, 3
add rdx, qword [r11 + 0x18]
mov rdx, qword [rdx]
mov r10, qword [rsp + 0xa0]
lea r11, [r10 + 8]
mov rax, qword [rsp + 0x130]
mov rbx, r13
mov esi, pe_nt_image_headers64
mov r9, rdx
mov r10, r11
call sym.modernc.org_sqlite_lib._wherePathSatisfiesOrderBy
movsx rdx, al
mov rbx, qword [rsp + 0x138]
mov r11, rbx
mov r12, qword [r11 + 0x18]
cmp dword [r12], edx
jne 0x65861b
mov byte [r11 + 0x43], 2
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x74]
mov r11, qword [rsp + 0x90]
mov r13, qword [rsp + 0x138]
lea r12, [r13 + 0x44]
mov r15, r12
movzx eax, byte [r12]
and eax, 0xfffffffb
mov byte [r12], al
mov r12, r13
cmp qword [r13 + 0x10], 0
nop dword [rax + rax]
je 0x6588f2
mov qword [rsp + 0xf8], r15
mov rdi, r11
movzx r11d, byte [r11 + 0x16]
mov byte [r13 + 0x41], r11b
mov r11, r12
movzx r13d, word [r12 + 0x3c]
bt r13d, 7
jae 0x6586b4
mov r13, rdi
movsx r13, byte [r13 + 0x16]
mov rax, qword [r12 + 0x10]
nop word [rax + rax]
cmp dword [rax], r13d
jne 0x658812
mov byte [r12 + 0x43], 2
jmp 0x658812
mov r13, rdi
mov r13, qword [r13 + 8]
mov qword [r12 + 0x60], r13
mov r12, r11
movsx r13, byte [r11 + 0x41]
test r13d, r13d
jg 0x6587e0
mov byte [r11 + 0x41], 0
test r9d, r9d
je 0x65880f
mov r11, rdi
mov r11, qword [r11 + 0x18]
lea r8d, [r9 - 1]
movsxd r13, r8d
lea r11, [r11 + r13*8]
mov r11, qword [r11]
mov r11d, dword [r11 + 0x30]
bt r11d, 0xc
nop dword [rax]
jb 0x65880f
and r11d, 0x104
cmp r11d, 0x104
je 0x65880f
mov r10, qword [rsp + 0xa0]
lea rdx, [r10 + 0x10]
mov qword [rsp + 0xf0], rdx
mov r11, rdx
mov qword [rdx], 0
mov rbx, r12
mov rcx, qword [r12 + 0x10]
mov rdx, rdi
mov rdx, qword [rdx + 0x18]
lea rdx, [rdx + r13*8]
mov r9, qword [rdx]
mov rax, qword [rsp + 0x130]
mov esi, 0x800
mov r10, r11
nop
call sym.modernc.org_sqlite_lib._wherePathSatisfiesOrderBy
movsx rdx, al
mov rbx, qword [rsp + 0x138]
mov r11, rbx
mov r11, qword [r11 + 0x10]
cmp dword [r11], edx
jne 0x6587a9
mov rdx, qword [rsp + 0xf8]
mov r11, rdx
movzx r12d, byte [rdx]
or r12d, 4
nop
mov byte [rdx], r12b
mov rdx, rbx
mov r12, qword [rsp + 0xf0]
mov r12, qword [r12]
mov qword [rdx + 0x60], r12
jmp 0x6587b1
mov r11, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov r9d, dword [rsp + 0x74]
mov r12, qword [rsp + 0x138]
mov r15, r11
jmp 0x65880f
test r9d, r9d
je 0x658809
cmp r13d, 1
jne 0x658809
movzx r11d, word [r11 + 0x3c]
test r11d, 3
je 0x658809
mov r11, r15
movzx r13d, byte [r15]
or r13d, 4
mov byte [r15], r13b
jmp 0x65880c
mov r11, r15
mov r15, r11
mov r11, r12
mov r12, r11
movzx r13d, word [r11 + 0x3c]
bt r13d, 9
nop
jae 0x6588f5
movsx r13, byte [r11 + 0x41]
mov r11, qword [r11 + 0x10]
cmp dword [r11], r13d
jne 0x6588f5
nop dword [rax + rax]
test r9d, r9d
je 0x6588f5
mov r10, qword [rsp + 0xa0]
add r10, 0x18
mov qword [rsp + 0xf0], r10
mov rdx, r10
mov qword [rdx], 0
mov rbx, r12
mov rcx, qword [r12 + 0x10]
mov rdx, rdi
lea r8d, [r9 - 1]
movsxd r11, r8d
shl r11, 3
add r11, qword [rdx + 0x18]
mov r9, qword [r11]
mov rax, qword [rsp + 0x130]
xor esi, esi
call sym.modernc.org_sqlite_lib._wherePathSatisfiesOrderBy
movsx rdx, al
mov r11, qword [rsp + 0x138]
mov r12, r11
mov r11, qword [r11 + 0x10]
cmp dword [r11], edx
jne 0x6588d2
mov rdx, qword [rsp + 0xf8]
movzx esi, byte [rdx]
or esi, 8
nop
mov byte [rdx], sil
mov rdx, r12
mov rsi, qword [rsp + 0xf0]
mov rsi, qword [rsi]
mov qword [r12 + 0x60], rsi
jmp 0x6588d5
mov rdx, r12
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov r12, rdx
mov rdx, qword [rsp + 0xa8]
jmp 0x6588f5
mov rdi, r11
movzx esi, word [rdi + 0x10]
mov word [r12 + 0x46], si
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x130]
mov rcx, rdx
call sym.modernc.org_sqlite_lib._sqlite3DbFreeNN
mov dword [rsp + 0x44], 0
mov byte [rsp + 0x3d], 0
mov rdx, qword [rsp + 0x118]
mov rsi, qword [rdx]
call rsi
mov eax, dword [rsp + 0x44]
add rsp, 0x120
pop rbp
ret
dec r10d
add r11, 0x20
mov r12, qword [rsp + 0x138]
mov qword [rsp + 0xd8], rax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0xd0], rcx
mov ecx, dword [rsp + 0x70]
mov dword [rsp + 0x54], ecx
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
nop dword [rax + rax]
test r10d, r10d
jle 0x658418
mov qword [rsp + 0xf8], r11
mov dword [rsp + 0x60], r10d
mov r12, qword [r12 + 0x50]
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0xc0], rcx
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
jmp 0x658a13
mov r12, qword [r15 + 0x48]
mov rcx, r8
mov r8d, r11d
mov r9d, dword [rsp + 0x74]
mov r10d, dword [rsp + 0x60]
mov r11, qword [rsp + 0xf8]
mov dword [rsp + 0x5c], ebx
mov r13d, eax
mov r15d, edx
mov dword [rsp + 0x70], esi
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x88]
mov esi, dword [rsp + 0x64]
test r12, r12
je 0x658939
mov qword [rsp + 0x78], r12
mov rdx, qword [r12]
mov rbx, qword [r11]
mov qword [rsp + 0x100], rbx
not rbx
test rdx, rbx
je 0x658a72
mov rcx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xa0]
mov r11d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x5c]
mov eax, r13d
mov edx, r15d
mov esi, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x64]
mov r15, qword [rsp + 0x78]
jmp 0x6589cd
mov rdx, qword [r12 + 8]
mov rbx, r11
mov r11, qword [rsp + 0x100]
test rdx, r11
je 0x658ac5
mov rcx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xa0]
mov r11d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x5c]
mov eax, r13d
mov edx, r15d
mov esi, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x64]
mov r15, qword [rsp + 0x78]
nop dword [rax]
jmp 0x6589cd
mov r9d, dword [r12 + 0x30]
bt r9d, 0xe
jae 0x658b16
movsx r9, word [rbx + 0x10]
cmp r9d, 3
jge 0x658b16
mov rcx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xa0]
mov r11d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x5c]
mov eax, r13d
mov edx, r15d
mov esi, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x64]
mov r15, qword [rsp + 0x78]
jmp 0x6589cd
mov word [rsp + 0x40], r15w
mov word [rsp + 0x42], r13w
movzx r9d, word [r12 + 0x12]
movsx r10, word [r12 + 0x14]
movsx r15, word [rbx + 0x10]
add r10d, r15d
movsx r13, r9w
movsx r8, r10w
nop
cmp r8d, r13d
jg 0x658ba2
lea r10d, [r8 + 0x31]
cmp r13d, r10d
jle 0x658b5d
mov r8, r11
lea r11, str._n_n_t_t_b_b_a_a_a
jmp 0x658bfd
lea r9d, [r8 + 0x1f]
cmp r13d, r9d
jle 0x658b79
lea r9d, [r13 + 1]
mov r8, r11
lea r11, str._n_n_t_t_b_b_a_a_a
jmp 0x658bfd
mov r9d, r13d
sub r13d, r8d
movsxd r13, r13d
cmp r13, 0x20
jae 0x659232
mov r8, r11
lea r11, str._n_n_t_t_b_b_a_a_a
movzx r13d, byte [r13 + r11]
add r9d, r13d
nop
jmp 0x658bfd
lea r9d, [r13 + 0x31]
cmp r8d, r9d
jle 0x658bba
mov r8, r11
lea r11, str._n_n_t_t_b_b_a_a_a
mov r9d, r10d
jmp 0x658bfd
lea r9d, [r13 + 0x1f]
nop
cmp r8d, r9d
jle 0x658bd5
lea r9d, [r8 + 1]
mov r8, r11
lea r11, str._n_n_t_t_b_b_a_a_a
jmp 0x658bfd
mov r9d, r8d
sub r8d, r13d
movsxd r13, r8d
nop
cmp r13, 0x20
jae 0x659225
mov r8, r11
lea r11, str._n_n_t_t_b_b_a_a_a
movzx r13d, byte [r13 + r11]
add r9d, r13d
movzx r13d, word [rbx + 0x14]
movsx r10, r9w
movsx rsi, r13w
cmp esi, r10d
jg 0x658c4a
lea r13d, [rsi + 0x31]
cmp r10d, r13d
jg 0x658c88
lea r13d, [rsi + 0x1f]
nop dword [rax]
cmp r10d, r13d
jle 0x658c2b
lea r9d, [r10 + 1]
jmp 0x658c88
mov r13d, r10d
sub r10d, esi
movsxd rsi, r10d
cmp rsi, 0x20
jae 0x659215
movzx esi, byte [rsi + r11]
lea r9d, [r13 + rsi]
jmp 0x658c88
lea r9d, [r10 + 0x31]
cmp esi, r9d
jle 0x658c58
mov r9d, r13d
jmp 0x658c88
lea r13d, [r10 + 0x1f]
nop dword [rax]
cmp esi, r13d
jle 0x658c6b
lea r9d, [rsi + 1]
jmp 0x658c88
mov r13d, esi
sub esi, r10d
movsxd rsi, esi
cmp rsi, 0x20
jae 0x659208
movzx esi, byte [rsi + r11]
lea r9d, [r13 + rsi]
mov word [rsp + 0x3e], r9w
movsx r12, word [r12 + 0x16]
movzx r13d, byte [rbx + 0x16]
movsx rsi, r13b
add r12d, r15d
mov dword [rsp + 0x6c], r12d
or rdx, r8
mov qword [rsp + 0x98], rdx
test esi, esi
jl 0x658cc8
mov r10, qword [rsp + 0xa0]
mov r15, r10
mov rbx, qword [rbx + 8]
mov qword [r15], rbx
jmp 0x658d45
mov r10, qword [rsp + 0xa0]
mov rdx, r10
mov qword [rdx], 0
mov rbx, qword [rsp + 0x138]
mov rdx, rbx
mov rcx, qword [rdx + 0x10]
movzx esi, word [rdx + 0x3c]
mov rax, qword [rsp + 0x130]
mov rdi, qword [rsp + 0xf8]
mov r8d, dword [rsp + 0x64]
mov r9, qword [rsp + 0x78]
call sym.modernc.org_sqlite_lib._wherePathSatisfiesOrderBy
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x98]
mov edi, dword [rsp + 0x4c]
movzx r9d, word [rsp + 0x3e]
mov r10, qword [rsp + 0xa0]
lea r11, str._n_n_t_t_b_b_a_a_a
mov r12d, dword [rsp + 0x6c]
mov r13d, eax
mov rax, qword [rsp + 0xb0]
movsx rsi, r13b
test esi, esi
jl 0x658e8f
cmp edi, esi
jle 0x658e8f
movsx r15, r13b
lea r15, [rax + r15*2]
mov rbx, r15
movsx r15, word [r15]
test r15d, r15d
jne 0x658dec
mov byte [rsp + 0x3c], r13b
mov dword [rsp + 0x68], esi
mov qword [rsp + 0xe8], rbx
mov rax, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x138]
movzx ecx, word [rsp + 0x140]
call sym.modernc.org_sqlite_lib._whereSortingCost
mov rdx, qword [rsp + 0xe8]
mov r8, rdx
mov word [rdx], ax
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x98]
mov rbx, r8
mov esi, dword [rsp + 0x68]
mov edi, dword [rsp + 0x4c]
movzx r9d, word [rsp + 0x3e]
mov r10, qword [rsp + 0xa0]
lea r11, str._n_n_t_t_b_b_a_a_a
mov r12d, dword [rsp + 0x6c]
movzx r13d, byte [rsp + 0x3c]
movzx r15d, word [rbx]
movsx rbx, r9w
movsx r8, r15w
cmp r8d, ebx
jg 0x658e37
lea r15d, [r8 + 0x31]
cmp ebx, r15d
jle 0x658e0b
mov r15d, r9d
jmp 0x658e85
lea r15d, [r8 + 0x1f]
cmp ebx, r15d
jle 0x658e1a
lea r15d, [rbx + 1]
jmp 0x658e85
mov r15d, ebx
sub ebx, r8d
movsxd rbx, ebx
cmp rbx, 0x20
jae 0x6591fb
movzx ebx, byte [rbx + r11]
add r15d, ebx
jmp 0x658e85
lea eax, [rbx + 0x31]
cmp r8d, eax
jle 0x658e49
mov rax, qword [rsp + 0xb0]
jmp 0x658e85
lea r15d, [rbx + 0x1f]
cmp r8d, r15d
jle 0x658e62
lea r15d, [r8 + 1]
mov rax, qword [rsp + 0xb0]
nop
jmp 0x658e85
mov r15d, r8d
sub r8d, ebx
movsxd rax, r8d
cmp rax, 0x20
jae 0x6591f1
movzx eax, byte [rax + r11]
add r15d, eax
mov rax, qword [rsp + 0xb0]
movsx r15, r15w
add r15d, 3
jmp 0x658e9c
movsx rbx, r9w
add ebx, 0xfffffffe
mov r15d, r9d
mov r9d, ebx
mov ebx, dword [rsp + 0x5c]
mov r8, rcx
xor ecx, ecx
mov dword [rsp + 0x6c], ecx
mov rcx, r8
jmp 0x659137
cmp r11d, ebx
mov rcx, qword [rsp + 0x80]
nop dword [rax]
jl 0x658f6a
mov r11d, dword [rsp + 0x58]
cmp ebx, r11d
jl 0x658f42
movsx rcx, r15w
mov edx, r13d
movzx r13d, word [rsp + 0x42]
movsx rsi, r13w
cmp esi, ecx
jl 0x658f04
jne 0x658f2e
movsx rcx, r9w
mov esi, r15d
movzx r15d, word [rsp + 0x40]
movsx rax, r15w
cmp eax, ecx
jg 0x658f29
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xf8]
mov r13d, dword [rsp + 0x64]
mov r15, qword [rsp + 0x78]
movzx eax, word [rsp + 0x42]
movzx edx, word [rsp + 0x40]
mov esi, dword [rsp + 0x70]
jmp 0x6589cd
cmp ebx, r11d
jmp 0x658f3a
cmp ebx, r11d
mov esi, r15d
movzx r15d, word [rsp + 0x40]
jl 0x658f54
mov eax, dword [rsp + 0x70]
jmp 0x658f5d
mov edx, r13d
mov esi, r15d
movzx r13d, word [rsp + 0x42]
movzx r15d, word [rsp + 0x40]
lea eax, [rbx + 1]
mov ebx, eax
mov eax, dword [rsp + 0x5c]
movsxd rax, eax
shl rax, 5
lea rcx, [r8 + rax]
jmp 0x658fdf
mov r11, rcx
movsx rdx, word [rcx + 0x12]
movsx rsi, r15w
cmp edx, esi
jl 0x658f98
jne 0x658fc5
movsx rdx, word [rcx + 0x10]
movsx rsi, r12w
cmp edx, esi
jl 0x658f98
jne 0x658fc5
movsx rcx, word [rcx + 0x14]
movsx rdx, r9w
cmp ecx, edx
jg 0x658fc5
mov rcx, qword [rsp + 0xf8]
mov r11d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x64]
mov r15, qword [rsp + 0x78]
movzx eax, word [rsp + 0x42]
movzx edx, word [rsp + 0x40]
mov esi, dword [rsp + 0x70]
nop dword [rax]
jmp 0x6589cd
mov edx, r13d
mov esi, r15d
movzx r13d, word [rsp + 0x42]
movzx r15d, word [rsp + 0x40]
mov rcx, r11
mov r11d, dword [rsp + 0x58]
mov rax, rcx
mov r13, qword [rsp + 0xf8]
mov r15, qword [rsp + 0x78]
mov r15, qword [r15 + 8]
or r15, qword [r13]
mov qword [rcx], r15
mov r13, rax
mov r15, r10
mov r15, qword [r15]
mov qword [rax + 8], r15
mov r15, r13
mov word [r13 + 0x10], r12w
mov r12, r15
mov word [r15 + 0x12], si
mov r13, r12
mov word [r12 + 0x14], r9w
mov r12, r13
mov byte [r13 + 0x16], dl
mov r13d, dword [rsp + 0x64]
movsxd rdx, r13d
shl rdx, 3
test rdx, rdx
je 0x6590c2
movabs r15, 0x3ffffffffffff
cmp r15, rdx
jb 0x6591e9
mov rax, r12
mov r12, qword [r12 + 0x18]
mov r15, qword [rsp + 0xf8]
mov rcx, r15
mov r15, qword [r15 + 0x18]
test byte [r12], al
test byte [r15], al
cmp r15, r12
je 0x6590cd
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0x48], ebx
mov rax, r12
mov rbx, r15
mov rcx, rdx
call sym.runtime.memmove
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf8]
mov ebx, dword [rsp + 0x48]
mov edi, dword [rsp + 0x4c]
mov r8, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xa0]
mov r11d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x64]
nop
jmp 0x6590cd
mov rax, r12
mov rcx, qword [rsp + 0xf8]
movsxd r12, r13d
shl r12, 3
add r12, qword [rax + 0x18]
mov r15, qword [rsp + 0x78]
mov qword [r12], r15
cmp ebx, r11d
jl 0x659106
mov r12, r8
movzx eax, word [r8 + 0x12]
movzx edx, word [r8 + 0x10]
lea rsi, [r12 + 0x20]
mov r8d, 1
xor r9d, r9d
jmp 0x659190
movzx eax, word [rsp + 0x42]
movzx edx, word [rsp + 0x40]
mov esi, dword [rsp + 0x70]
jmp 0x6589cd
lea ecx, [r11 + 1]
mov r11, qword [rsp + 0x80]
add r11, 0x20
mov dword [rsp + 0x6c], ecx
mov rcx, r11
lea r11, str._n_n_t_t_b_b_a_a_a
mov r11d, dword [rsp + 0x6c]
nop dword [rax]
cmp r11d, ebx
jge 0x658ec0
mov qword [rsp + 0x80], rcx
cmp qword [rcx], rdx
jne 0x659119
movsx rcx, byte [rcx + 0x16]
xor ecx, esi
bt ecx, 7
jb 0x659119
jmp 0x658eb1
inc eax
mov rsi, qword [rsp + 0xe8]
add rsi, 0x20
mov edi, dword [rsp + 0x4c]
mov r12, qword [rsp + 0xb8]
mov r9d, r8d
mov r8d, eax
mov eax, r13d
mov r13d, dword [rsp + 0x64]
cmp r8d, r11d
jge 0x6591de
mov qword [rsp + 0xe8], rsi
movzx r13d, word [rsi + 0x12]
movsx r12, r13w
movsx rdi, ax
cmp edi, r12d
jl 0x6591bf
jne 0x6591d3
movsx r12, word [rsi + 0x14]
movsx rdi, dx
cmp r12d, edi
jle 0x6591c8
movzx edx, word [rsi + 0x14]
mov eax, r8d
jmp 0x659168
mov r13d, eax
mov eax, r8d
mov r8d, r9d
jmp 0x659168
mov r13d, eax
mov eax, r8d
mov r8d, r9d
jmp 0x659168
mov r8, r12
mov esi, r9d
jmp 0x6589cd
mov rbx, r15
call sym.runtime.panicSlice3AlenU
mov ecx, 0x20
call sym.runtime.panicIndex
mov rax, rbx
mov ecx, 0x20
call sym.runtime.panicIndex
mov rax, rsi
mov ecx, 0x20
call sym.runtime.panicIndex
mov rax, rsi
mov ecx, 0x20
nop dword [rax]
call sym.runtime.panicIndex
mov rax, r13
mov ecx, 0x20
call sym.runtime.panicIndex
mov rax, r13
mov ecx, 0x20
call sym.runtime.panicIndex
nop
call sym.runtime.deferreturn
mov eax, dword [rsp + 0x44]
add rsp, 0x120
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov word [rsp + 0x18], cx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, word [rsp + 0x18]
jmp sym.modernc.org_sqlite_lib._wherePathSolver