Function at 0x509960
Capabilities:
Reference sql statements

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x509e17
push rbp
mov rbp, rsp
sub rsp, 0xc0
mov qword [rsp + 0x1e8], rbx
mov qword [rsp + 0x1f0], rcx
mov qword [rsp + 0x1f8], rdi
movzx edx, byte [rax + 0x18]
cmp dl, 3
jae 0x5099ab
mov rdx, qword [0x0075bcf0]
mov r9, qword [0x0075bcf8]
jmp 0x5099c7
cmp dl, 5
jbe 0x5099c2
mov rdx, qword [0x0075bd00]
mov r9, qword [0x0075bd08]
nop
jmp 0x5099c7
xor edx, edx
xor r9d, r9d
test rdx, rdx
jne 0x509aa7
mov qword [rsp + 0x1e0], rax
mov word [rsp + 0x1d0], 0x29
mov rcx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov rbx, qword [rax]
mov rsi, qword [rax + 0x30]
mov r8, qword [rax + 0x28]
lea rax, [rsp + 0xd0]
nop dword [rax]
call sym.vendor_golang.org_x_net_dns_dnsmessage._ResourceHeader_.pack
test rsi, rsi
jne 0x509a36
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x48], rbx
mov r8, qword [rsp + 0x1e8]
mov r9, qword [rsp + 0x1f0]
mov qword [rsp + 0x90], r9
mov rdx, rbx
xor esi, esi
jmp 0x509b15
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x70], rsi
lea rax, [0x005b4860]
call sym.runtime.newobject
mov qword [rax + 8], 0xe
lea rcx, [0x005e02ca]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x10], rcx
cmp dword [0x007c4ac0], 0
jne 0x509a80
mov rcx, qword [rsp + 0xa8]
jmp 0x509a90
call sym.runtime.gcWriteBarrier1
mov rcx, qword [rsp + 0xa8]
mov qword [r11], rcx
mov qword [rax + 0x18], rcx
mov rbx, rax
lea rax, [0x00637b20]
add rsp, 0xc0
pop rbp
ret
mov rax, rdx
mov rbx, r9
add rsp, 0xc0
pop rbp
ret
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x98], rax
lea rdx, [rax + rbx]
mov rbx, r12
mov rax, rdx
mov rcx, r11
call sym.runtime.memmove
mov r8, qword [rsp + 0xb8]
add r8, 0x20
mov rsi, qword [rsp + 0x88]
inc rsi
mov rdx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
mov r9, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x50]
cmp rsi, r9
jge 0x509c4b
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0xb8], r8
add rbx, 2
mov r10, qword [r8 + 0x10]
mov qword [rsp + 0x80], r10
movzx r11d, word [r8]
mov r12, qword [r8 + 8]
mov qword [rsp + 0xb0], r12
nop
cmp rcx, rbx
jae 0x509ba3
mov word [rsp + 0x46], r11w
mov edi, 2
lea rsi, [0x00592de0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x80]
movzx r11d, word [rsp + 0x46]
mov r12, qword [rsp + 0xb0]
rol r11w, 8
mov word [rbx + rax - 2], r11w
add rbx, 2
nop
cmp rcx, rbx
jae 0x509bfb
mov edi, 2
lea rsi, [0x00592de0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x80]
mov r12, qword [rsp + 0xb0]
mov r11, r10
rol r10w, 8
mov word [rbx + rax - 2], r10w
lea r10, [rbx + r11]
nop
cmp rcx, r10
jae 0x509ab6
mov qword [rsp + 0x50], rbx
mov rbx, r10
mov rdi, r11
lea rsi, [0x00592de0]
call sym.runtime.growslice
mov r11, qword [rsp + 0x80]
mov r12, qword [rsp + 0xb0]
mov r10, rbx
mov rbx, qword [rsp + 0x50]
jmp 0x509ab6
mov r8, rbx
sub rbx, rdx
cmp rbx, 0xffff
jle 0x509c6d
mov rdx, qword [0x0075bdb0]
mov rsi, qword [0x0075bdb8]
jmp 0x509d00
cmp rdi, rcx
ja 0x509e0b
mov rdx, rcx
sub rdx, rdi
mov r9, rdx
neg rdx
sar rdx, 0x3f
and rdi, rdx
lea rdx, [rdi + rax]
cmp r9, 2
jae 0x509ce4
mov qword [rsp + 0x90], r8
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x78], rbx
mov rax, rdx
mov ebx, 2
mov rcx, r9
mov rdi, rbx
lea rsi, [0x00592de0]
call sym.runtime.growslice
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x90]
mov rdx, rax
mov rax, qword [rsp + 0xa0]
mov rdi, rbx
rol bx, 8
mov word [rdx], bx
mov word [rsp + 0x1d8], di
xor edx, edx
xor esi, esi
nop word [rax + rax]
test rdx, rdx
jne 0x509dfc
mov rdx, qword [rsp + 0x1e0]
movzx esi, byte [rdx + 0x18]
cmp sil, 3
ja 0x509d60
nop dword [rax + rax]
cmp sil, 2
jne 0x509d40
lea rsi, [rdx + 0x1e]
mov rdi, qword [0x0075bdc0]
mov r9, qword [0x0075bdc8]
jmp 0x509da1
cmp sil, 3
jne 0x509d9a
lea rsi, [rdx + 0x20]
mov rdi, qword [0x0075bdd0]
mov r9, qword [0x0075bdd8]
jmp 0x509da1
cmp sil, 4
jne 0x509d80
lea rsi, [rdx + 0x22]
mov rdi, qword [0x0075bde0]
mov r9, qword [0x0075bde8]
jmp 0x509da1
cmp sil, 5
jne 0x509d9a
lea rsi, [rdx + 0x24]
mov rdi, qword [0x0075bdf0]
mov r9, qword [0x0075bdf8]
jmp 0x509da1
xor esi, esi
xor edi, edi
xor r9d, r9d
movzx r10d, word [rsi]
cmp r10w, 0xffff
je 0x509db8
inc r10d
mov word [rsi], r10w
xor edi, edi
xor r9d, r9d
test rdi, rdi
jne 0x509ded
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
cmp dword [0x007c4ac0], 0
je 0x509ddd
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [rdx]
mov qword [r11 + 8], rcx
mov qword [rdx], rax
xor eax, eax
xor ebx, ebx
add rsp, 0xc0
pop rbp
ret
mov rax, rdi
mov rbx, r9
add rsp, 0xc0
pop rbp
ret
mov rax, rdx
mov rbx, rsi
add rsp, 0xc0
pop rbp
ret
mov rdx, rcx
mov rcx, rdi
call sym.runtime.panicSliceAcap
nop
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rdi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x130]
nop dword [rax]
jmp sym.vendor_golang.org_x_net_dns_dnsmessage._Builder_.OPTResource