Function at 0x4f5560
Capabilities:
Reference sql statements

Disassembly:
lea r12, [rsp - 0x60]
cmp r12, qword [r14 + 0x10]
jbe 0x4f5ac6
push rbp
mov rbp, rsp
sub rsp, 0xd8
mov qword [rsp + 0xe8], rax
lea rcx, [rsi - 2]
cmp rcx, 0x3c
ja 0x4f5ab2
test rbx, rbx
je 0x4f571e
mov byte [rsp + 0x100], dil
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0x108], rsi
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
movzx ecx, dil
mov qword [rsp + 0xb0], rcx
mov rdx, rsi
neg rsi
and rsi, rdx
mov qword [rsp + 0xa8], rsi
lea r8, [rbx - 1]
mov r9, qword [rax + rbx*8 - 8]
mov r10, r9
shr r9, 1
or r9, r10
mov r10, r9
shr r9, 2
or r9, r10
mov r10, r9
shr r9, 4
or r9, r10
mov r10, r9
shr r9, 8
or r9, r10
mov r10, r9
shr r9, 0x10
or r9, r10
mov r10, r9
shr r9, 0x20
or r9, r10
mov qword [rsp + 0x68], r9
shl r8, 6
mov qword [rsp + 0xa0], r8
call sym.math.log2
mov rax, qword [rsp + 0xb0]
test rax, rax
mov rcx, qword [rsp + 0x68]
bsr rcx, rcx
mov rdx, 0xffffffffffffffff
cmove rcx, rdx
mov rdx, qword [rsp + 0xa0]
lea rcx, [rcx + rdx]
lea rcx, [rcx + 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
divsd xmm1, xmm0
cvttsd2si rcx, xmm1
lea rbx, [rcx + 1]
add rcx, 2
test rax, rax
cmovne rbx, rcx
mov qword [rsp + 0x98], rbx
lea rax, [0x00592de0]
mov rcx, rbx
call sym.runtime.makeslice
mov rbx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xa8]
cmp rbx, rcx
jne 0x4f5705
nop
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rdx]
bsf rcx, rbx
mov edi, 1
shl rdi, cl
cmp rcx, 0x40
sbb r8, r8
mov qword [rsp + 0xa8], r8
and rdi, r8
dec rdi
mov rbx, qword [rsp + 0x98]
mov r9, qword [rsp + 0xf0]
mov r10, rbx
mov r11d, 1
mov r12d, 0x40
nop
jmp 0x4f5935
mov rcx, rax
mov rax, 0xffffffffffffffff
xor edx, edx
div rbx
mov rdx, rbx
mov esi, 1
jmp 0x4f5745
lea rax, [0x00596660]
call sym.runtime.newobject
mov byte [rax], 0x30
mov ebx, 1
mov rcx, rbx
add rsp, 0xd8
pop rbp
ret
imul rbx, rdx
inc rsi
cmp rax, rbx
jae 0x4f573e
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rsi
mov rax, qword [rsp + 0xf0]
mov rcx, rsi
mov rdi, rbx
mov rbx, rdx
call sym.math_big.divisors
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rcx
nop
mov rdx, qword [rsp + 0xf0]
cmp rdx, 1
jne 0x4f57ba
mov qword [rsp + 0xb8], 0
mov esi, 1
lea rdi, [rsp + 0xb8]
mov r8d, 1
jmp 0x4f57f7
lea rcx, [rdx + 4]
mov qword [rsp + 0x60], rcx
lea rax, [0x005938e0]
mov rbx, rdx
call sym.runtime.makeslice
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x70]
mov rsi, rdx
mov rdi, rax
mov r8, qword [rsp + 0x60]
mov rax, qword [rsp + 0xc0]
cmp rdx, rsi
mov r12, rsi
cmovl rsi, rdx
mov rdx, qword [rsp + 0xe8]
cmp rdx, rdi
je 0x4f5862
mov qword [rsp + 0x80], r8
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xc8], rdi
shl rsi, 3
mov rax, rdi
mov rbx, rdx
mov rcx, rsi
call sym.runtime.memmove
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x80]
mov r12, qword [rsp + 0xa0]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov rax, rdi
mov rbx, r12
mov rcx, r8
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x98]
mov r8, rsi
mov r9, qword [rsp + 0x108]
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x88]
call sym.math_big.nat.convertWords
mov r8, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xd0]
xor eax, eax
jmp 0x4f58c0
inc rax
cmp rax, r8
jae 0x4f592a
movzx edx, byte [rax + rdi]
cmp dl, 0x30
je 0x4f58bd
movzx edx, byte [rsp + 0x100]
test dl, dl
je 0x4f58ec
lea rdx, [rax - 1]
nop
cmp r8, rdx
jbe 0x4f591f
mov byte [rax + rdi - 1], 0x2d
jmp 0x4f58ef
mov rdx, rax
cmp rdx, r8
ja 0x4f5914
sub r8, rdx
mov rcx, r8
neg r8
sar r8, 0x3f
and rdx, r8
lea rax, [rdi + rdx]
mov rbx, rcx
add rsp, 0xd8
pop rbp
ret
mov rax, rdx
mov rcx, r8
call sym.runtime.panicSliceB
mov rax, rdx
mov rcx, r8
call sym.runtime.panicIndex
mov rcx, r8
call sym.runtime.panicIndex
inc r11
cmp r9, r11
jg 0x4f5a4e
nop
jmp 0x4f59e0
test r12, r12
jne 0x4f5956
mov rsi, qword [rdx + r11*8]
mov r12d, 0x40
jmp 0x4f5932
mov r13, qword [rdx + r11*8]
mov r15, rcx
mov rcx, r12
shl r13, cl
cmp rcx, 0x40
sbb r8, r8
and r13, r8
or rsi, r13
and rsi, rdi
cmp rsi, 0x3e
jae 0x4f5a88
lea r8, [rbx - 1]
lea r13, [0x005ecc6e]
movzx esi, byte [rsi + r13]
cmp r10, r8
jbe 0x4f5a7d
mov byte [rbx + rax - 1], sil
mov rsi, qword [rdx + r11*8]
mov r13, r15
sub r15, rcx
mov rcx, r15
shr rsi, cl
lea r12, [rcx - 0x40]
neg r12
cmp rcx, 0x40
sbb r15, r15
and rsi, r15
mov rcx, r13
mov rbx, r8
mov r8, qword [rsp + 0xa8]
jmp 0x4f5932
mov byte [rbx + rax - 1], sil
shr rdx, cl
and rdx, r8
mov rsi, rdx
mov rbx, r9
test rsi, rsi
je 0x4f5a08
mov rdx, rsi
and rsi, rdi
cmp rsi, 0x3e
jae 0x4f5a25
lea r9, [rbx - 1]
lea r11, [0x005ecc6e]
movzx esi, byte [rsi + r11]
cmp r10, r9
ja 0x4f59cf
jmp 0x4f5a16
mov rdi, rax
mov r8, r10
mov rax, rbx
jmp 0x4f58ce
mov rax, r9
mov rcx, r10
nop dword [rax]
call sym.runtime.panicIndex
mov rax, rsi
mov ecx, 0x3e
call sym.runtime.panicIndexU
mov byte [rbx + rax - 1], sil
shr r13, cl
and r13, r8
sub r12, rcx
mov r9, qword [rsp + 0xf0]
mov rsi, r13
mov rbx, r15
cmp rcx, r12
ja 0x4f5945
mov r13, rsi
and rsi, rdi
nop dword [rax]
cmp rsi, 0x3e
jae 0x4f5aa5
lea r15, [rbx - 1]
lea r9, [0x005ecc6e]
movzx esi, byte [rsi + r9]
cmp r10, r15
ja 0x4f5a32
jmp 0x4f5a95
mov rax, r8
mov rcx, r10
call sym.runtime.panicIndex
mov rax, rsi
mov ecx, 0x3e
call sym.runtime.panicIndexU
mov rax, r15
mov rcx, r10
nop dword [rax + rax]
call sym.runtime.panicIndex
mov rax, rsi
mov ecx, 0x3e
call sym.runtime.panicIndexU
lea rax, [0x00592aa0]
lea rbx, [0x00636fb0]
call sym.runtime.gopanic
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
mov qword [rsp + 0x28], rsi
nop
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
nop
jmp sym.math_big.nat.itoa