Function at 0x1400aea40
Capabilities:
Hash data using fnv

Disassembly:
lea r12, [rsp - 0xe0]
cmp r12, qword [r14 + 0x10]
jbe 0x1400af659
push rbp
mov rbp, rsp
sub rsp, 0x158
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rcx
test rax, rax
jl 0x1400af645
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x170], rbx
mov rdx, qword [rbx + 0x130]
mov rax, rcx
call rdx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x140], rcx
mov rdx, qword [rsp + 0x140]
mov qword [rsp + 0x108], 0x11
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], rdx
lea rbx, [0x140268c80]
lea rax, [0x1403a7820]
lea rcx, [rsp + 0x108]
call dbg.sync.(*Map).Load
nop dword [rax]
test cl, cl
je 0x1400aeb3f
test rax, rax
je 0x1400af634
mov rcx, qword [0x140236440]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
jmp 0x1400af5e5
mov rax, qword [rsp + 0x168]
mov ebx, 0xa
call dbg.strconv.FormatInt
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x68], rbx
mov rax, qword [rsp + 0xb8]
call dbg.reflect.(*rtype).String
mov ecx, 1
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x68]
lea r8, [0x1402b12c4]
mov r9, rcx
mov r10, rax
mov r11, rbx
lea rax, [rsp + 0x48]
lea rbx, [0x1402b12c0]
call dbg.runtime.concatstring4
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], rbx
call dbg.reflect.typesByString
mov rcx, qword [rsp + 0xb8]
xor edx, edx
jmp 0x1400aebc2
inc rdx
cmp rbx, rdx
jle 0x1400aec65
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x1400aebbf
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x140], rcx
lea rax, [0x140268c80]
lea rbx, [rsp + 0x128]
nop dword [rax]
call dbg.runtime.convT
lea rbx, [0x140268c80]
mov rcx, rax
lea rdi, [0x140274820]
mov rsi, qword [rsp + 0xc0]
lea rax, [0x1403a7820]
call dbg.sync.(*Map).LoadOrStore
test rax, rax
je 0x1400af5d6
mov rcx, qword [0x140236460]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
jmp 0x1400af58a
lea rcx, [0x1402521e0]
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe0], rcx
lea rax, [0x140269700]
call sym.runtime.newobject
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0xe0]
test byte [rcx], al
cmp dword [0x1403ecae0], 0
je 0x1400aecd6
mov rbx, rax
lea rax, [0x140269700]
call dbg.runtime.wbMove
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx]
mov qword [rax], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rax + 0x28], xmm0
movups xmm0, xmmword [rcx + 0x38]
movups xmmword [rax + 0x38], xmm0
mov rdx, qword [rsp + 0xb8]
movzx r9d, byte [rdx + 0x14]
and r9d, 8
mov byte [rax + 0x14], r9b
mov rbx, qword [rsp + 0x90]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
mov rax, qword [rsp + 0xd8]
call dbg.internal/abi.NewName
call dbg.reflect.addReflectOff
mov rdx, qword [rsp + 0x150]
mov dword [rdx + 0x28], eax
mov r9, qword [rsp + 0xb8]
mov r10d, dword [r9 + 0x10]
xor eax, eax
jmp 0x1400aed60
imul r10d, r10d, 0x1000193
xor r10d, 0x5b
mov eax, 1
nop
test rax, rax
jle 0x1400aed4f
mov dword [rdx + 0x10], r10d
mov rax, qword [rsp + 0x168]
mov rcx, rax
jmp 0x1400aed80
mov dword [rdx + 0x10], esi
shr eax, 8
nop dword [rax]
test eax, eax
jbe 0x1400aed8e
mov esi, dword [rdx + 0x10]
xor ebx, ebx
jmp 0x1400af580
mov esi, dword [rdx + 0x10]
xor eax, eax
jmp 0x1400aeda3
imul esi, esi, 0x1000193
xor esi, 0x5d
mov eax, 1
test rax, rax
jle 0x1400aed95
mov dword [rdx + 0x10], esi
cmp dword [0x1403ecae0], 0
je 0x1400aedc4
call dbg.runtime.gcWriteBarrier2
mov qword [r11], r9
mov rsi, qword [rdx + 0x30]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x30], r9
mov dword [rdx + 0x2c], 0
mov rsi, qword [r9]
test rsi, rsi
jbe 0x1400aedf0
mov rax, 0xffffffffffffffff
mov rbx, rdx
xor edx, edx
div rsi
cmp rax, rcx
jae 0x1400aedf3
jmp 0x1400af55a
mov rbx, rdx
imul rsi, rcx
mov qword [rbx], rsi
test rcx, rcx
jle 0x1400aee1a
mov rdx, qword [r9 + 8]
test rdx, rdx
je 0x1400aee1a
mov rsi, qword [r9]
lea rdi, [rcx - 1]
imul rdi, rsi
add rdx, rdi
mov qword [rbx + 8], rdx
movzx edx, byte [r9 + 0x15]
mov byte [rbx + 0x15], dl
movzx edx, byte [r9 + 0x16]
mov byte [rbx + 0x16], dl
mov qword [rbx + 0x40], rcx
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
nop
call dbg.reflect.SliceOf
lea rcx, [0x1402b48d8]
cmp rax, rcx
jne 0x1400af547
test byte [rbx], al
cmp dword [0x1403ecae0], 0
nop
jne 0x1400aee6c
mov rdx, qword [rsp + 0x150]
jmp 0x1400aee84
call dbg.runtime.gcWriteBarrier2
mov qword [r11], rbx
mov rdx, qword [rsp + 0x150]
mov rsi, qword [rdx + 0x38]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x38], rbx
mov rsi, qword [rsp + 0xb8]
cmp qword [rsi + 8], 0
je 0x1400af0bc
mov rdi, qword [rdx]
nop
test rdi, rdi
je 0x1400af0bc
mov r8, qword [rsp + 0x168]
cmp r8, 1
jne 0x1400aeef5
movzx ecx, byte [rdx + 0x17]
movzx edi, byte [rsi + 0x17]
and edi, 0x40
or ecx, edi
mov byte [rdx + 0x17], cl
mov rcx, qword [rsi + 0x20]
cmp dword [0x1403ecae0], 0
je 0x1400aeee4
call dbg.runtime.gcWriteBarrier2
mov qword [r11], rcx
mov rdi, qword [rdx + 0x20]
mov qword [r11 + 8], rdi
mov qword [rdx + 0x20], rcx
mov rcx, qword [rsi + 8]
mov qword [rdx + 8], rcx
jmp 0x1400af0e9
movzx r9d, byte [rsi + 0x17]
nop word [rax + rax]
test r9b, 0x40
jne 0x1400aefdd
cmp rdi, 0x20000
ja 0x1400aefdd
mov rcx, qword [rdx + 8]
shr rcx, 3
add rcx, 7
shr rcx, 3
add rcx, 7
and rcx, 0xfffffffffffffff8
mov qword [rsp + 0x98], rcx
lea rax, [0x140250600]
mov rbx, rcx
call dbg.runtime.makeslice
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0x150]
mov r8, qword [rdx + 0x40]
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
xor edi, edi
mov rsi, qword [rsp + 0xb8]
call dbg.reflect.emitGCMask
mov rdx, qword [rsp + 0x98]
nop dword [rax]
test rdx, rdx
jbe 0x1400af53d
cmp dword [0x1403ecae0], 0
jne 0x1400aefa4
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
jmp 0x1400aefc4
call dbg.runtime.gcWriteBarrier2
mov rcx, qword [rsp + 0x148]
mov qword [r11], rcx
mov rdx, qword [rsp + 0x150]
mov rsi, qword [rdx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x20], rcx
mov rsi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
jmp 0x1400af0e9
lea rax, [0x140252420]
call sym.runtime.newobject
mov ebx, 4
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
call dbg.reflect.appendGCProg
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rdx + 8]
shr rsi, 3
mov rdi, qword [rdx]
shr rdi, 3
mov qword [rsp + 0xa8], rdi
nop dword [rax]
cmp rdi, rsi
jbe 0x1400af294
mov qword [rsp + 0xa0], rsi
add rbx, 2
cmp rcx, rbx
jae 0x1400af063
mov edi, 2
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov word [rbx + rax - 2], 1
lea r8, [rsi + 1]
cmp rdi, r8
jbe 0x1400af294
inc rbx
cmp rcx, rbx
jae 0x1400af0a8
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov byte [rbx + rax - 1], 0x81
mov r8, rdi
sub rdi, rsi
lea r9, [rdi - 1]
jmp 0x1400af4b8
cmp dword [0x1403ecae0], 0
je 0x1400af0d1
mov rcx, qword [rdx + 0x20]
call dbg.runtime.gcWriteBarrier1
mov qword [r11], rcx
mov qword [rdx + 0x20], 0
mov qword [rdx + 8], 0
mov r8, qword [rsp + 0x168]
nop
mov rcx, qword [rsi]
cmp dword [0x1403ecae0], 0
je 0x1400af102
mov rdi, qword [rdx + 0x18]
call dbg.runtime.gcWriteBarrier1
mov qword [r11], rdi
mov qword [rdx + 0x18], 0
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x1400af1a4
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xf8], rdi
lea rax, [0x140267780]
call sym.runtime.newobject
lea rcx, [dbg.reflect.ArrayOf.func1]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x168]
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
cmp dword [0x1403ecae0], 0
jne 0x1400af16a
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x150]
jmp 0x1400af18e
call dbg.runtime.gcWriteBarrier3
mov rdx, qword [rsp + 0xf8]
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsi + 0x18]
mov qword [r11 + 0x10], rdi
mov qword [rax + 0x18], rdx
mov qword [rsi + 0x18], rax
mov rdx, rsi
mov rsi, qword [rsp + 0xb8]
mov r8, rcx
cmp r8, 1
jne 0x1400af1bf
movzx ecx, byte [rsi + 0x17]
test cl, 0x20
je 0x1400af1bf
movzx ecx, byte [rdx + 0x17]
or ecx, 0x20
mov byte [rdx + 0x17], cl
jmp 0x1400af1c9
movzx ecx, byte [rdx + 0x17]
and ecx, 0xffffffdf
mov byte [rdx + 0x17], cl
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], r8
lea rax, [0x140268c80]
lea rbx, [rsp + 0x128]
call dbg.runtime.convT
lea rbx, [0x140268c80]
mov rcx, rax
lea rdi, [0x140274820]
mov rsi, qword [rsp + 0x150]
lea rax, [0x1403a7820]
call dbg.sync.(*Map).LoadOrStore
test rax, rax
je 0x1400af288
mov rcx, qword [0x140236480]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x1400af27a
lea rsi, [rdi + 1]
test r8, r8
jne 0x1400af23c
mov qword [rsp + 0xc8], rbx
mov rbx, rax
lea rax, [0x140236480]
call dbg.runtime.typeAssert
mov rbx, qword [rsp + 0xc8]
jmp 0x1400af27f
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x1402709e0]
call dbg.runtime.panicnildottype
cmp rdi, 0x80
jae 0x1400af2d7
inc rbx
cmp rcx, rbx
jae 0x1400af2c6
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xa8]
or rdi, 0x80
mov byte [rbx + rax - 1], dil
jmp 0x1400af385
inc rbx
cmp rcx, rbx
jae 0x1400af300
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xa8]
mov byte [rbx + rax - 1], pe_nt_image_headers64
nop
jmp 0x1400af31b
mov r8, rdi
or r8, 0x80
mov byte [rbx + rax - 1], r8b
shr rdi, 7
mov qword [rsp + 0x80], rdi
cmp rdi, 0x80
jb 0x1400af357
inc rbx
cmp rcx, rbx
jae 0x1400af308
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x80]
jmp 0x1400af308
inc rbx
cmp rcx, rbx
jae 0x1400af380
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x80]
mov byte [rbx + rax - 1], dil
mov r8, qword [rsp + 0x168]
lea r9, [r8 - 1]
jmp 0x1400af3a6
mov r10, r9
or r10, 0x80
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x78], r9
cmp r9, 0x80
jb 0x1400af3e4
inc rbx
cmp rcx, rbx
jae 0x1400af393
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x78]
jmp 0x1400af393
inc rbx
cmp rcx, rbx
jae 0x1400af412
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x78]
mov byte [rbx + rax - 1], r9b
inc rbx
cmp rcx, rbx
jae 0x1400af440
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov byte [rbx + rax - 1], 0
test rbx, rbx
jbe 0x1400af497
lea rcx, [rbx - 4]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x150]
movzx esi, byte [rcx + 0x17]
or esi, 0x40
mov byte [rcx + 0x17], sil
cmp dword [0x1403ecae0], 0
je 0x1400af47c
call dbg.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rcx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rcx + 0x20], rax
mov rdi, qword [rcx]
mov qword [rcx + 8], rdi
mov rdx, rcx
mov rsi, qword [rsp + 0xb8]
jmp 0x1400af0e9
xor eax, eax
mov rcx, rax
nop dword [rax]
call dbg.runtime.panicIndex
mov r10, r9
or r10, 0x80
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x88], r9
cmp r9, 0x80
jb 0x1400af4ff
inc rbx
cmp rcx, rbx
jae 0x1400af4a5
mov edi, 1
lea rsi, [0x140250600]
nop dword [rax]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x88]
jmp 0x1400af4a5
inc rbx
cmp rcx, rbx
jae 0x1400af530
mov edi, 1
lea rsi, [0x140250600]
call dbg.runtime.growslice
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x88]
mov byte [rbx + rax - 1], r9b
mov rdi, r8
jmp 0x1400af294
xor eax, eax
mov rcx, rax
call dbg.runtime.panicIndex
mov rbx, qword [str._H_]
lea rcx, [0x1402709e0]
call dbg.runtime.panicdottypeI
lea rax, [0x140250580]
lea rbx, [0x1402b1a00]
call dbg.runtime.gopanic
imul esi, esi, 0x1000193
movzx edi, al
xor esi, edi
mov ebx, 1
nop dword [rax]
test rbx, rbx
jle 0x1400af56d
jmp 0x1400aed76
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x1400af5c8
lea rsi, [rdi + 1]
test r8, r8
jne 0x1400af58a
mov qword [rsp + 0xd0], rbx
mov rbx, rax
lea rax, [0x140236460]
call dbg.runtime.typeAssert
mov rbx, qword [rsp + 0xd0]
jmp 0x1400af5cd
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x1402709e0]
nop dword [rax]
call dbg.runtime.panicnildottype
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x1400af626
lea rsi, [rdi + 1]
nop dword [rax]
test r8, r8
jne 0x1400af5e5
mov qword [rsp + 0x100], rbx
mov rbx, rax
lea rax, [0x140236440]
call dbg.runtime.typeAssert
mov rbx, qword [rsp + 0x100]
jmp 0x1400af62b
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x1402709e0]
nop dword [rax + rax]
call dbg.runtime.panicnildottype
lea rax, [0x140250580]
lea rbx, [0x1402b19f0]
call dbg.runtime.gopanic
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
jmp dbg.reflect.ArrayOf