Function at 0x665d80
Capabilities:
Check for software breakpoints

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x666286
push rbp
mov rbp, rsp
sub rsp, 0x90
mov byte [rsp + 0xa0], al
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xc0], rsi
mov byte [rsp + 0xc8], r8b
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xb0], rcx
lea rax, [0x006ef780]
mov rbx, rsi
lea rcx, [0x00706f1b]
mov edi, 0xe
nop
call sym.runtime.mapaccess1_faststr
mov rbx, qword [rax + 8]
mov rdx, qword [rax]
mov rcx, qword [rax + 0x10]
cmp rbx, 1
jle 0x665e05
mov rsi, qword [rdx]
mov rdi, qword [rdx + 8]
nop dword [rax]
jmp 0x665fb2
test rbx, rbx
jne 0x665e0e
xor eax, eax
jmp 0x665e2e
mov qword [rsp + 0x48], rbx
mov rax, rdx
call sym.net_http.parseContentLength
nop dword [rax + rax]
test rbx, rbx
jne 0x665f8e
mov rbx, qword [rsp + 0x48]
movzx edx, byte [rsp + 0xa0]
test dl, dl
je 0x665e67
mov rsi, qword [rsp + 0xb8]
cmp rsi, 4
jne 0x665e67
mov rsi, qword [rsp + 0xb0]
cmp dword [rsi], 0x44414548
jne 0x665e67
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x90
pop rbp
ret
mov rsi, qword [rsp + 0xa8]
mov rdi, rsi
sar rsi, 0x3f
mov rcx, rax
movabs rax, 0xa3d70a3d70a3d70b
imul rdi
add rdx, rdi
sar rdx, 6
sub rdx, rsi
cmp rdx, 1
je 0x665f7f
nop word [rax + rax]
cmp rdi, 0xcc
je 0x665eb2
cmp rdi, 0x130
jne 0x665ec1
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x90
pop rbp
ret
movzx edx, byte [rsp + 0xc8]
test dl, dl
jne 0x665f3e
test rbx, rbx
jne 0x665f2e
nop
nop
lea rax, [0x00706f1b]
mov ebx, 0xe
call sym.net_textproto.CanonicalMIMEHeaderKey
mov rcx, rax
mov rdi, rbx
lea rax, [0x006dde80]
mov rbx, qword [rsp + 0xc0]
call sym.runtime.mapdelete_faststr
movzx ecx, byte [rsp + 0xa0]
test cl, cl
je 0x665f1f
mov rax, 0xffffffffffffffff
xor ebx, ebx
xor ecx, ecx
add rsp, 0x90
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x90
pop rbp
ret
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
add rsp, 0x90
pop rbp
ret
nop
nop
lea rax, [0x00706f1b]
mov ebx, 0xe
call sym.net_textproto.CanonicalMIMEHeaderKey
mov rcx, rax
mov rdi, rbx
lea rax, [0x006dde80]
mov rbx, qword [rsp + 0xc0]
call sym.runtime.mapdelete_faststr
mov rax, 0xffffffffffffffff
xor ebx, ebx
xor ecx, ecx
add rsp, 0x90
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x90
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
dec rdi
mov r8, rdi
neg r8
sar r8, 0x3f
and r8d, 1
add rsi, r8
test rdi, rdi
je 0x665fe0
movzx r8d, byte [rsi]
nop dword [rax + rax]
cmp r8b, 0x20
je 0x665f9e
cmp r8b, 9
je 0x665f9e
cmp r8b, 0xa
je 0x665f9e
cmp r8b, 0xd
je 0x665f9e
jmp 0x665fe0
dec rdi
nop dword [rax]
test rdi, rdi
je 0x666006
movzx r8d, byte [rdi + rsi - 1]
cmp r8b, 0x20
je 0x665fda
cmp r8b, 9
je 0x665fda
cmp r8b, 0xa
je 0x665fda
nop dword [rax]
cmp r8b, 0xd
je 0x665fda
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rbx
lea r8, [rdx + 0x10]
lea r9, [rbx - 1]
jmp 0x666053
mov r8, qword [rsp + 0x70]
add r8, 0x10
mov r9, qword [rsp + 0x58]
dec r9
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
test r9, r9
jle 0x66608f
mov r10, qword [r8]
mov r11, qword [r8 + 8]
nop
jmp 0x6661c9
cmp r11, rdi
jne 0x66622c
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x70], r8
mov rax, rsi
mov rbx, r10
mov rcx, rdi
call sym.runtime.memequal
test al, al
jne 0x666029
jmp 0x66621d
nop
nop
lea rax, [0x00706f1b]
mov ebx, 0xe
nop dword [rax]
call sym.net_textproto.CanonicalMIMEHeaderKey
mov rcx, rax
mov rdi, rbx
lea rax, [0x006dde80]
mov rbx, qword [rsp + 0xc0]
call sym.runtime.mapdelete_faststr
nop
nop
lea rax, [0x00706f1b]
mov ebx, 0xe
call sym.net_textproto.CanonicalMIMEHeaderKey
mov rcx, rax
mov rdi, rbx
lea rax, [0x006dde80]
mov rbx, qword [rsp + 0xc0]
call sym.runtime.mapassign_faststr
mov rcx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
inc rbx
mov rdx, qword [rax]
cmp rcx, rbx
jae 0x666145
mov qword [rsp + 0x78], rax
mov rax, rdx
mov edi, 1
lea rsi, [0x006a3fc0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x78]
mov qword [rdx + 0x10], rcx
cmp dword [0x009995f0], 0
je 0x666139
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rdx]
mov qword [r11 + 8], rsi
mov qword [rdx], rax
mov rcx, rax
mov rax, rdx
mov rdx, rcx
mov qword [rax + 8], rbx
lea rsi, [rbx - 1]
shl rsi, 4
mov r8, qword [rsp + 0x40]
mov qword [rdx + rsi + 8], r8
cmp dword [0x009995f0], 0
jne 0x66616b
mov r8, qword [rsp + 0x60]
jmp 0x666180
call sym.runtime.gcWriteBarrier2
mov r8, qword [rsp + 0x60]
mov qword [r11], r8
mov r9, qword [rdx + rsi]
mov qword [r11 + 8], r9
mov qword [rdx + rsi], r8
lea rax, [0x006ef780]
mov rbx, qword [rsp + 0xc0]
lea rcx, [0x00706f1b]
mov edi, 0xe
nop
call sym.runtime.mapaccess1_faststr
mov rdx, qword [rax]
mov rbx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
jmp 0x665e05
dec r11
mov r12, r11
neg r12
sar r12, 0x3f
and r12d, 1
add r10, r12
test r11, r11
je 0x6661f1
movzx r12d, byte [r10]
cmp r12b, 0x20
je 0x6661b5
cmp r12b, 9
je 0x6661b5
nop
cmp r12b, 0xa
je 0x6661b5
cmp r12b, 0xd
je 0x6661b5
jmp 0x6661f1
dec r11
test r11, r11
je 0x666065
movzx r12d, byte [r11 + r10 - 1]
cmp r12b, 0x20
je 0x6661ee
cmp r12b, 9
je 0x6661ee
cmp r12b, 0xa
je 0x6661ee
cmp r12b, 0xd
je 0x6661ee
jmp 0x666065
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
movups xmmword [rsp + 0x80], xmm15
mov rax, rdx
call sym.runtime.convTslice
lea rdx, [0x006a03c0]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rax
lea rax, [0x00719489]
mov ebx, 0x44
lea rcx, [rsp + 0x80]
mov edi, 1
mov rsi, rdi
call sym.fmt.Errorf
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0x90
pop rbp
ret
mov byte [rsp + 8], al
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
call sym.runtime.morestack_noctxt.abi0
movzx eax, byte [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
jmp sym.net_http.fixLength