Function at 0x40cda0
Capabilities:
Reference sql statements

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40d5b1
push rbp
mov rbp, rsp
sub rsp, 0x58
cmp dword [0x007c47bc], 2
je 0x40d59f
nop
test rax, rax
je 0x40d51a
mov byte [rsp + 0x78], cl
mov qword [rsp + 0x70], rbx
cmp byte [0x007c4f30], 0
je 0x40ce5f
cmp dword [0x007c4f3c], 0
je 0x40ce3f
test rbx, rbx
je 0x40ce25
test rax, 7
jne 0x40ce00
mov edx, 8
jmp 0x40ce2a
test rax, 3
jne 0x40ce0f
mov edx, 4
jmp 0x40ce2a
test rax, 1
mov edx, 1
mov esi, 2
cmove rdx, rsi
jmp 0x40ce2a
mov edx, 0x10
mov rbx, rdx
lea rcx, [0x007c77c0]
call sym.runtime.persistentalloc
add rsp, 0x58
pop rbp
ret
cmp byte [0x007c4c80], 0
je 0x40ce5f
mov rdx, qword [0x007c4c88]
cmp qword [r14 + 0x98], rdx
jne 0x40ce5f
inc qword [0x007c4c90]
mov qword [rsp + 0x68], rax
call sym.runtime.deductAssistCredit
mov rcx, qword [r14 + 0x30]
nop
inc dword [rcx + 0xd8]
mov rcx, qword [r14 + 0x30]
cmp dword [rcx + 0xc0], 0
nop
jne 0x40d58e
mov rdx, r14
cmp qword [rcx + 0x50], rdx
je 0x40d57d
mov dword [rcx + 0xc0], 1
mov rdx, qword [rcx + 0xa0]
test rdx, rdx
je 0x40ceaf
mov rdx, qword [rdx + 0x40]
jmp 0x40ceb6
mov rdx, qword [0x007c4910]
test rdx, rdx
je 0x40d56c
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x40ced4
cmp qword [rdi + 8], 0
sete sil
jmp 0x40ced9
mov esi, 1
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x30], rdx
mov byte [rsp + 0x26], sil
mov rbx, qword [rsp + 0x68]
cmp rbx, 0x8000
ja 0x40d28c
nop
test sil, sil
je 0x40d0a0
cmp rbx, 0x10
jae 0x40d0a0
mov r8, qword [rdx + 0x18]
nop word [rax + rax]
test rbx, 7
jne 0x40cf33
add r8, 7
and r8, 0xfffffffffffffff8
jmp 0x40cf54
test rbx, 3
jne 0x40cf46
add r8, 3
and r8, 0xfffffffffffffffc
jmp 0x40cf54
bt ebx, 0
jb 0x40cf54
inc r8
nop
and r8, 0xfffffffffffffffe
lea r9, [rbx + r8]
cmp r9, 0x10
ja 0x40cfaa
mov r10, qword [rdx + 0x10]
test r10, r10
je 0x40cfaa
lea rax, [r10 + r8]
mov qword [rdx + 0x18], r9
inc qword [rdx + 0x20]
mov dword [rcx + 0xc0], 0
mov edx, dword [rcx + 0xd8]
lea ebx, [rdx - 1]
nop
mov dword [rcx + 0xd8], ebx
cmp edx, 1
jne 0x40cfa4
cmp byte [r14 + 0xb1], 0
je 0x40cfa4
mov qword [r14 + 0x10], 0xfffffffffffffade
add rsp, 0x58
pop rbp
ret
mov r8, qword [rdx + 0x50]
mov r9, qword [r8 + 0x40]
bsf r10, r9
mov r11d, 0x40
cmove r10, r11
cmp r10, 0x40
jge 0x40d02f
mov r11, qword [r8 + 0x30]
lea r12, [r11 + r10]
mov r13, qword [r8 + 0x38]
cmp r13, r12
jbe 0x40d02f
lea r11, [r11 + r10]
lea r11, [r11 + 1]
nop
test r11, 0x3f
jne 0x40cff6
cmp r13, r11
je 0x40cff6
mov r13, rcx
xor r9d, r9d
jmp 0x40d035
inc r10
mov r13, rcx
mov rcx, r10
shr r9, cl
cmp rcx, 0x40
sbb r10, r10
and r9, r10
mov qword [r8 + 0x40], r9
mov qword [r8 + 0x30], r11
movzx r9d, word [r8 + 0x68]
inc r9d
mov word [r8 + 0x68], r9w
mov r9, qword [r8 + 0x70]
imul r9, r12
add r9, qword [r8 + 0x18]
jmp 0x40d035
mov r13, rcx
xor r9d, r9d
test r9, r9
je 0x40d03e
xor ecx, ecx
jmp 0x40d06f
mov rax, rdx
mov ebx, 5
call sym.runtime._mcache_.nextFree
mov rdx, qword [rsp + 0x30]
movzx esi, byte [rsp + 0x26]
mov rdi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
movups xmmword [r9], xmm15
cmp qword [rdx + 0x18], rbx
ja 0x40d082
cmp qword [rdx + 0x10], 0
nop
jne 0x40d08f
mov r10, r9
mov qword [rdx + 0x10], r9
mov qword [rdx + 0x18], rbx
jmp 0x40d092
mov r10, r9
mov r9d, 0x10
jmp 0x40d284
cmp rbx, 0x3f8
ja 0x40d0cc
lea r8, [rbx + 7]
shr r8, 3
cmp r8, 0x81
jae 0x40d55f
lea r9, [0x007323a0]
movzx r8d, byte [r8 + r9]
jmp 0x40d100
lea r8, [rbx - 0x381]
shr r8, 7
nop word [rax + rax]
cmp r8, 0xf9
jae 0x40d552
lea r9, str._______________________....______0001123333333333444444444455666677777888888888889999999999::::::___________________________________________________________________________AAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
movzx r8d, byte [r9 + r8]
nop dword [rax]
cmp r8, 0x44
jae 0x40d545
mov r9d, r8d
shl r8d, 1
movzx r10d, sil
or r8d, r10d
movzx r10d, r8b
lea r11, [0x007324e0]
movzx r9d, word [r11 + r9*2]
nop
cmp r10, 0x88
jae 0x40d538
mov r10, qword [rdx + r10*8 + 0x28]
mov r11, qword [r10 + 0x40]
bsf r12, r11
mov r13d, 0x40
cmove r12, r13
cmp r12, 0x40
jge 0x40d1cb
mov r13, qword [r10 + 0x30]
lea r15, [r13 + r12]
mov rax, qword [r10 + 0x38]
nop
cmp rax, r15
jbe 0x40d1c6
lea r13, [r13 + r12]
lea r13, [r13 + 1]
test r13, 0x3f
jne 0x40d186
cmp rax, r13
je 0x40d186
mov rax, qword [rsp + 0x50]
xor r11d, r11d
jmp 0x40d1ce
inc r12
mov rcx, r12
shr r11, cl
cmp rcx, 0x40
sbb r12, r12
and r11, r12
mov qword [r10 + 0x40], r11
mov qword [r10 + 0x30], r13
movzx r11d, word [r10 + 0x68]
inc r11d
mov word [r10 + 0x68], r11w
mov r11, qword [r10 + 0x70]
imul r11, r15
add r11, qword [r10 + 0x18]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
jmp 0x40d1ce
mov rax, qword [rsp + 0x50]
xor r11d, r11d
mov qword [rsp + 0x38], r9
test r11, r11
je 0x40d1dd
xor r8d, r8d
jmp 0x40d214
mov rax, rdx
mov ebx, r8d
call sym.runtime._mcache_.nextFree
mov rdx, qword [rsp + 0x30]
movzx esi, byte [rsp + 0x26]
mov rdi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
mov r11, rax
mov r10, rbx
mov r8d, ecx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
movzx r12d, byte [rsp + 0x78]
test r12b, r12b
je 0x40d278
cmp byte [r10 + 0x6c], 0
je 0x40d278
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x25], r8b
mov qword [rsp + 0x28], r10
mov rax, r11
mov rbx, r9
nop dword [rax + rax]
call sym.runtime.memclrNoHeapPointers
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x68]
movzx esi, byte [rsp + 0x26]
mov rdi, qword [rsp + 0x70]
movzx r8d, byte [rsp + 0x25]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x48]
mov r13, rcx
mov ecx, r8d
mov r8, r10
mov r10, r11
xor r11d, r11d
jmp 0x40d334
mov rax, rdx
mov ecx, esi
call sym.runtime._mcache_.allocLarge
mov qword [rax + 0x30], 1
mov word [rax + 0x68], 1
mov rdx, qword [rax + 0x18]
mov rbx, qword [rax + 0x70]
movzx esi, byte [rsp + 0x78]
test sil, sil
je 0x40d2fe
cmp byte [rax + 0x6c], 0
je 0x40d2f5
movzx esi, byte [rsp + 0x26]
test sil, sil
jne 0x40d2f1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], rdx
mov rax, rdx
call sym.runtime.memclrNoHeapPointers
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
movzx esi, byte [rsp + 0x26]
mov ecx, esi
jmp 0x40d305
movzx ecx, byte [rsp + 0x26]
xor esi, esi
jmp 0x40d305
movzx ecx, byte [rsp + 0x26]
xor esi, esi
mov rdi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x40]
mov r8, rax
mov r11d, esi
mov r9, rbx
mov ecx, 1
mov r10, rdx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x68]
movzx esi, byte [rsp + 0x26]
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x38], r9
mov byte [rsp + 0x25], cl
mov byte [rsp + 0x27], r11b
mov qword [rsp + 0x28], r8
test sil, sil
jne 0x40d3a0
mov rax, r10
mov rcx, rbx
mov rbx, r9
call sym.runtime.heapBitsSetType
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx]
mov r8, qword [rsp + 0x68]
cmp r8, rsi
jbe 0x40d38d
mov rax, qword [rdx + 8]
mov rcx, r8
sub r8, rsi
lea rbx, [r8 + rax]
test rax, rax
mov eax, 0
cmovne rax, rbx
jmp 0x40d394
mov rax, qword [rdx + 8]
mov rcx, r8
mov rbx, qword [rsp + 0x30]
add qword [rbx + 8], rax
nop dword [rax]
call sym.runtime.publicationBarrier
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x30]
mov qword [rax + 0xa0], rcx
cmp dword [0x007c47bc], 0
je 0x40d3d3
mov rbx, qword [rsp + 0x48]
mov rdx, rbx
mov rcx, qword [rsp + 0x38]
mov rbx, rdx
call sym.runtime.gcmarknewobject
mov rdx, qword [0x0072e9f0]
test rdx, rdx
jle 0x40d41d
nop
cmp rdx, 1
je 0x40d402
mov rdx, qword [rsp + 0x30]
mov rsi, qword [rdx]
mov rcx, qword [rsp + 0x38]
cmp rcx, rsi
jae 0x40d407
sub rsi, rcx
mov qword [rdx], rsi
nop
jmp 0x40d422
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
call sym.runtime.profilealloc
mov rcx, qword [rsp + 0x38]
jmp 0x40d422
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov dword [rdx + 0xc0], 0
mov esi, dword [rdx + 0xd8]
lea edi, [rsi - 1]
nop
mov dword [rdx + 0xd8], edi
cmp esi, 1
jne 0x40d458
cmp byte [r14 + 0xb1], 0
je 0x40d458
mov qword [r14 + 0x10], 0xfffffffffffffade
movzx edx, byte [rsp + 0x27]
nop dword [rax]
test dl, dl
je 0x40d483
movzx edx, byte [rsp + 0x26]
test dl, dl
je 0x40d527
mov rax, rcx
mov rbx, qword [rsp + 0x48]
call sym.runtime.memclrNoHeapPointersChunked
mov rcx, qword [rsp + 0x38]
cmp byte [0x007c4f30], 0
je 0x40d4d0
cmp dword [0x007c4f34], 0
je 0x40d4ac
mov rax, qword [rsp + 0x48]
mov rbx, rcx
mov rcx, qword [rsp + 0x70]
call sym.runtime.tracealloc
mov rcx, qword [rsp + 0x38]
cmp byte [0x007c4c80], 0
je 0x40d4d0
mov rdx, qword [0x007c4c88]
nop dword [rax]
cmp qword [r14 + 0x98], rdx
jne 0x40d4d0
add qword [0x007c4c98], rcx
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x40d4e9
mov rsi, qword [rsp + 0x68]
sub rcx, rsi
sub qword [rdx + 0x190], rcx
movzx edx, byte [rsp + 0x25]
test dl, dl
je 0x40d50f
xor eax, eax
xor ebx, ebx
xor ecx, ecx
call sym.runtime.gcTrigger.test
nop dword [rax]
test al, al
je 0x40d50f
xor eax, eax
xor ebx, ebx
xor ecx, ecx
call sym.runtime.gcStart
mov rax, qword [rsp + 0x48]
add rsp, 0x58
pop rbp
ret
lea rax, [0x007c4780]
add rsp, 0x58
pop rbp
ret
lea rax, [0x005eba1b]
mov ebx, 0x31
call sym.runtime.throw
mov rax, r10
mov ecx, 0x88
call sym.runtime.panicIndex
mov eax, r8d
mov ecx, 0x44
call sym.runtime.panicIndex
mov rax, r8
mov ecx, 0xf9
call sym.runtime.panicIndexU
mov rax, r8
mov ecx, 0x81
call sym.runtime.panicIndexU
lea rax, [0x005ebe97]
mov ebx, 0x34
call sym.runtime.throw
lea rax, [0x005e24b2]
mov ebx, 0x14
call sym.runtime.throw
lea rax, [0x005e036c]
mov ebx, 0xf
call sym.runtime.throw
lea rax, [0x005ebc38]
mov ebx, 0x32
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
nop
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
jmp sym.runtime.mallocgc