Function at 0x422ee0
Capabilities:
Reference sql statements

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4231f7
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rsp + 0x60], rcx
lea rdx, [rcx - 1]
nop dword [rax + rax]
test rdx, rcx
jne 0x4231b6
test rcx, rcx
je 0x4231b6
cmp rcx, 0x40
ja 0x423176
nop dword [rax]
test rdi, rdi
jne 0x422f2a
mov rdx, rcx
jmp 0x422f42
lea rdx, [rcx + rdi]
lea rdx, [rdx - 1]
mov rsi, rcx
neg rsi
nop
and rsi, rdx
mov rdx, rcx
mov rcx, rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rcx
shr rbx, 6
jmp 0x422f69
mov rbx, qword [rsp + 0x20]
dec rbx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x20], rbx
test rbx, rbx
jl 0x422fb5
cmp rbx, 8
jae 0x423169
test byte [rax], al
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
call sym.runtime.fillAligned
cmp rax, 0xffffffffffffffff
je 0x422f52
mov rax, qword [rsp + 0x20]
test rax, rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x20]
jl 0x423065
nop dword [rax + rax]
cmp rbx, 8
jae 0x42315c
test byte [rax], al
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
nop dword [rax + rax]
call sym.runtime.fillAligned
mov rcx, rax
not rax
mov rdx, qword [rsp + 0x20]
mov rsi, rdx
shl rdx, 6
bsr rdi, rax
mov r8, 0xffffffffffffffff
cmove rdi, r8
lea r9, [rdi - 0x3f]
neg r9
lea r10, [rdi + 1]
neg r10
mov rax, rcx
mov rcx, r10
shl rax, cl
lea rcx, [rdi + rdx]
lea rcx, [rcx + 1]
lea rdx, [rdi + rdx]
lea rdx, [rdx + 1]
cmp r9, 0x40
sbb r9, r9
and rax, r9
test rax, rax
je 0x423053
bsr rsi, rax
cmove rsi, r8
add rsi, 0xffffffffffffffc1
neg rsi
mov rdi, rsi
jmp 0x4230e3
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdx
inc rdi
dec rsi
jmp 0x42308c
xor eax, eax
mov rbx, rax
add rsp, 0x40
pop rbp
ret
mov rsi, qword [rsp + 0x18]
dec rsi
mov rdx, qword [rsp + 0x30]
mov r8, 0xffffffffffffffff
mov rdi, rcx
mov rcx, qword [rsp + 0x28]
test rsi, rsi
jl 0x4230e3
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x10], rdi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + rsi*8]
or rax, qword [rcx + rsi*8 + 0x40]
mov rbx, qword [rsp + 0x60]
call sym.runtime.fillAligned
bsr rcx, rax
mov rdx, 0xffffffffffffffff
cmove rcx, rdx
inc rcx
mov rsi, qword [rsp + 0x10]
sub rsi, rcx
lea rcx, [rsi + 0x40]
test rax, rax
je 0x423070
mov rdx, qword [rsp + 0x30]
mov rdi, rcx
mov rcx, qword [rsp + 0x28]
mov rsi, qword [0x007c4840]
mov r8, qword [rsp + 0x38]
cmp r8, rdi
mov r9, rdi
cmovb rdi, r8
mov r8, rdx
sub rdx, rdi
nop
cmp rsi, 0x2000
jbe 0x42314d
cmp qword [0x007c4838], rsi
jae 0x423148
shr rsi, 0xd
lea r10, [rdx + rsi]
lea r10, [r10 - 1]
neg rsi
and r10, rsi
nop
cmp rcx, r10
jb 0x423143
sub r8, r9
and rsi, rdx
nop
cmp rsi, r8
jb 0x42313e
sub rdx, rsi
add rdi, rdx
jmp 0x423150
mov rsi, rdx
jmp 0x423150
mov rsi, rdx
jmp 0x423150
mov rsi, rdx
jmp 0x423150
mov rsi, rdx
mov rax, rsi
mov rbx, rdi
add rsp, 0x40
pop rbp
ret
mov rax, rbx
mov ecx, 8
call sym.runtime.panicIndex
mov rax, rbx
mov ecx, 8
call sym.runtime.panicIndex
call sym.runtime.printlock
lea rax, [0x005e03b7]
mov ebx, 0xf
call sym.runtime.printstring
mov rax, qword [rsp + 0x60]
call sym.runtime.printuint
call sym.runtime.printnl
nop dword [rax + rax]
call sym.runtime.printunlock
lea rax, [0x005df90c]
mov ebx, 0xd
call sym.runtime.throw
call sym.runtime.printlock
lea rax, [0x005e03b7]
mov ebx, 0xf
call sym.runtime.printstring
mov rax, qword [rsp + 0x60]
call sym.runtime.printuint
call sym.runtime.printnl
nop dword [rax + rax]
call sym.runtime.printunlock
lea rax, [0x005e8129]
mov ebx, 0x21
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp sym.runtime._pallocData_.findScavengeCandidate