Function at 0x41e440
Capabilities:
Reference sql statements

Disassembly:
lea r12, [rsp - 0x2b0]
cmp r12, qword [r14 + 0x18]
jbe 0x41eb26
push rbp
mov rbp, rsp
sub rsp, 0x328
mov qword [rsp + 0x338], rax
mov edx, dword [rax + 0x90]
bt edx, 0xc
jae 0x41ea8d
nop
mov edx, dword [rax + 0x90]
btr edx, 0xc
cmp edx, 2
ja 0x41e48f
cmp edx, 1
je 0x41e498
jmp 0x41e9f6
cmp edx, 4
ja 0x41e5e0
mov rdx, r14
nop dword [rax + rax]
cmp rdx, rax
je 0x41e9e5
mov r9, qword [rax + 0x70]
test r9, r9
jne 0x41e4b6
mov r9, qword [rax + 0x38]
mov r10, qword [rax + 8]
sub r10, r9
mov rdx, qword [rdx + 0x30]
mov rdx, qword [rdx + 0xa0]
test byte [rdx], al
add qword [rdx + 0x22b8], r10
inc qword [rdx + 0x22c0]
cmp qword [rax + 0x70], 0
jne 0x41e4fa
cmp byte [rax + 0xb4], 0
je 0x41e4ec
xor edx, edx
jmp 0x41e4fc
nop
mov dl, byte [rax + 0xb9]
test dl, dl
sete dl
jmp 0x41e4fc
xor edx, edx
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x320], rbx
test dl, dl
jne 0x41e516
mov byte [rax + 0xb3], 1
jmp 0x41e530
call sym.runtime.shrinkstack
mov rax, qword [rsp + 0x338]
mov rbx, qword [rsp + 0x320]
mov r10, qword [rsp + 0x40]
lea rdi, [rsp + 0x60]
lea rdi, [rdi - 0x30]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004669f4
mov rbp, qword [rbp]
mov rdx, qword [rax]
mov r9, qword [rax + 8]
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x168], r9
cmp qword [rax + 0x50], 0
je 0x41e599
lea rdx, [rax + 0x50]
lea rcx, [0x0072e920]
mov rdi, rbx
lea rsi, [rsp + 0x60]
mov ebx, 8
mov rax, rdx
call sym.runtime.scanblock
mov rax, qword [rsp + 0x338]
lea rdi, [rsp + 0x1b0]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004669ef
mov rbp, qword [rbp]
mov rbx, 0xffffffffffffffff
mov rcx, rbx
mov rdi, rcx
mov rsi, rax
xor r8d, r8d
lea rax, [rsp + 0x1b0]
call sym.runtime._unwinder_.initAt
jmp 0x41e6b2
cmp edx, 6
jne 0x41e5f0
xor eax, eax
add rsp, 0x328
pop rbp
ret
nop
mov ecx, dword [rax + 0x90]
mov ecx, ecx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rax + 0x98]
mov qword [rsp + 0x50], rdx
call sym.runtime.printlock
lea rax, [0x005df2b9]
mov ebx, 0xc
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x338]
call sym.runtime.printpointer
lea rax, [0x005dda71]
mov ebx, 7
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x50]
call sym.runtime.printuint
lea rax, [0x005e1d08]
mov ebx, 0x13
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x58]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x005e10ad]
mov ebx, 0x11
call sym.runtime.throw
lea rax, [rsp + 0x1b0]
lea rbx, [rsp + 0x60]
mov rcx, qword [rsp + 0x320]
nop
call sym.runtime.scanframeworker
lea rax, [rsp + 0x1b0]
call sym.runtime._unwinder_.next
cmp qword [rsp + 0x1c0], 0
jne 0x41e68a
mov rdx, qword [rsp + 0x338]
mov r8, qword [rdx + 0x28]
mov qword [rsp + 0x310], r8
jmp 0x41e6e7
mov r8, qword [rsp + 0x310]
mov r8, qword [r8 + 0x28]
mov qword [rsp + 0x310], r8
mov rax, qword [rsp + 0x310]
test rax, rax
je 0x41e7ac
cmp qword [rax + 0x18], 0
je 0x41e72d
add rax, 0x18
mov ebx, 8
lea rcx, [0x0072e920]
mov rdi, qword [rsp + 0x320]
lea rsi, [rsp + 0x60]
nop dword [rax]
call sym.runtime.scanblock
mov rdx, qword [rsp + 0x338]
mov rax, qword [rsp + 0x310]
cmp qword [rax + 0x28], 0
je 0x41e766
add rax, 0x28
mov ebx, 8
lea rcx, [0x0072e920]
mov rdi, qword [rsp + 0x320]
lea rsi, [rsp + 0x60]
call sym.runtime.scanblock
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x310]
cmp byte [r8 + 1], 0
je 0x41e6d3
lea rax, [rsp + 0x310]
mov ebx, 8
lea rcx, [0x0072e920]
mov rdi, qword [rsp + 0x320]
lea rsi, [rsp + 0x60]
call sym.runtime.scanblock
mov rdx, qword [rsp + 0x338]
jmp 0x41e6d3
mov rbx, qword [rdx + 0x20]
test rbx, rbx
je 0x41e7c5
lea rax, [rsp + 0x60]
xor ecx, ecx
nop dword [rax]
call sym.runtime._stackScanState_.putPtr
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x1a0]
nop
xor ebx, ebx
call sym.runtime.binarySearchTree
mov qword [rsp + 0x1a8], rax
lea rax, [rsp + 0x60]
call sym.runtime._stackScanState_.getPtr
test rax, rax
je 0x41e84d
mov rdx, qword [rsp + 0x160]
sub rax, rdx
mov rdx, qword [rsp + 0x1a8]
jmp 0x41e8a0
xor edx, edx
test rdx, rdx
je 0x41e7e5
mov r8, qword [rdx + 8]
test r8, r8
je 0x41e7e5
xor r9d, r9d
nop
mov qword [rdx + 8], r9
nop
mov r9, r8
lea rax, [0x00734c40]
jmp 0x41e8d6
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x190], rcx
mov qword [rax + 0x10], 0
call sym.runtime.putempty
mov rax, qword [rsp + 0x190]
test rax, rax
jne 0x41e834
cmp qword [rsp + 0x178], 0
jne 0x41e889
cmp qword [rsp + 0x188], 0
jne 0x41e889
cmp qword [rsp + 0x180], 0
jne 0x41e889
mov rax, qword [rsp + 0x40]
add rsp, 0x328
pop rbp
ret
lea rax, [0x005e4c56]
mov ebx, 0x19
call sym.runtime.throw
nop word [rax + rax]
test rdx, rdx
je 0x41e80c
mov r8d, dword [rdx]
cmp r8d, eax
jbe 0x41e8b7
mov rdx, qword [rdx + 0x10]
jmp 0x41e8a0
mov r9d, dword [rdx + 4]
add r8d, r9d
nop
cmp eax, r8d
jb 0x41e80e
mov rdx, qword [rdx + 0x18]
jmp 0x41e8a0
mov rax, qword [rax + 0x248]
test rax, rax
je 0x41e8f4
nop dword [rax + rax]
cmp qword [rax + 0x140], r8
ja 0x41e8cf
cmp qword [rax + 0x110], r8
jbe 0x41e8cf
jmp 0x41e8f6
xor eax, eax
mov r8d, dword [r9 + 0xc]
add r8, qword [rax + 0x138]
mov r10d, dword [r9 + 8]
test r10d, r10d
jl 0x41e90e
xor eax, eax
jmp 0x41e943
mov byte [rsp + 0x33], bl
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x318], r9
neg r10d
movsxd rax, r10d
mov rbx, r8
call sym.runtime.materializeGCProg
mov r8, qword [rax + 0x18]
mov rdx, qword [rsp + 0x38]
movzx ebx, byte [rsp + 0x33]
mov r9, qword [rsp + 0x318]
mov qword [rsp + 0x48], rax
mov edx, dword [rdx]
add rdx, qword [rsp + 0x160]
test bl, bl
je 0x41e987
mov r9d, dword [r9 + 8]
test r9d, r9d
jge 0x41e967
neg r9d
movsxd r9, r9d
jmp 0x41e96a
movsxd r9, r9d
mov rax, rdx
mov rbx, r9
mov rcx, r8
mov rdi, qword [rsp + 0x320]
lea rsi, [rsp + 0x60]
call sym.runtime.scanConservative
jmp 0x41e9b6
mov r9d, dword [r9 + 8]
test r9d, r9d
jge 0x41e998
neg r9d
movsxd r9, r9d
jmp 0x41e99b
movsxd r9, r9d
mov rax, rdx
mov rbx, r9
mov rcx, r8
mov rdi, qword [rsp + 0x320]
lea rsi, [rsp + 0x60]
call sym.runtime.scanblock
mov rbx, qword [rsp + 0x48]
nop dword [rax + rax]
test rbx, rbx
je 0x41e7e5
nop
lea rax, [0x007869e0]
mov ecx, 2
call sym.runtime._mheap_.freeManual
nop dword [rax + rax]
jmp 0x41e7e5
lea rax, [0x005e45bd]
mov ebx, 0x18
call sym.runtime.throw
cmp edx, 2
jne 0x41e5f0
nop
mov ecx, dword [rax + 0x90]
mov ecx, ecx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rax + 0x98]
mov qword [rsp + 0x50], rdx
call sym.runtime.printlock
lea rax, [0x005df2b9]
mov ebx, 0xc
call sym.runtime.printstring
mov rax, qword [rsp + 0x338]
call sym.runtime.printpointer
lea rax, [0x005dda71]
mov ebx, 7
call sym.runtime.printstring
mov rax, qword [rsp + 0x50]
call sym.runtime.printuint
lea rax, [0x005e1d08]
mov ebx, 0x13
call sym.runtime.printstring
mov rax, qword [rsp + 0x58]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x005e7afb]
mov ebx, 0x20
call sym.runtime.throw
nop
mov ecx, dword [rax + 0x90]
mov dword [rsp + 0x34], ecx
mov rdx, qword [rax + 0x98]
mov qword [rsp + 0x58], rdx
call sym.runtime.printlock
lea rax, [0x005e34d4]
mov ebx, 0x16
call sym.runtime.printstring
mov rax, qword [rsp + 0x338]
call sym.runtime.printpointer
lea rax, [0x005dda71]
mov ebx, 7
call sym.runtime.printstring
mov rax, qword [rsp + 0x58]
nop dword [rax]
call sym.runtime.printuint
lea rax, [0x005e1d08]
mov ebx, 0x13
call sym.runtime.printstring
mov eax, dword [rsp + 0x34]
mov eax, eax
nop dword [rax]
call sym.runtime.printhex
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x005e34ea]
mov ebx, 0x16
nop dword [rax + rax]
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestackc.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp sym.runtime.scanstack