Function at 0x489ce0
Capabilities:
Hash data using fnv

Disassembly:
lea r12, [rsp - 0xc8]
cmp r12, qword [r14 + 0x10]
jbe 0x48a725
sub rsp, 0x148
mov qword [rsp + 0x140], rbp
lea rbp, [rsp + 0x140]
mov r13, 0
mov qword [rsp + 0x138], r13
mov byte [rsp + 0x180], r9b
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x168], rdi
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rbx
mov byte [rsp + 0x47], 0
movups xmmword [rsp + 0x108], xmm15
test r9b, r9b
je 0x489db4
test rbx, rbx
jne 0x489d5f
mov ecx, 1
jmp 0x489dac
lea rcx, [rbx - 1]
shl rcx, 4
mov rdx, qword [rax + rcx]
mov rcx, qword [rax + rcx + 8]
mov rdx, qword [rdx + 0x98]
mov rax, rcx
call rdx
cmp rax, 0x17
setne cl
mov rax, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x168]
movzx r9d, byte [rsp + 0x180]
test cl, cl
jne 0x48a6e7
lea rcx, [0x00677fe0]
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x120], 0
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0xb8], rcx
lea rdx, [rbx + rsi]
cmp rdx, 4
jle 0x489e87
cmp rdx, 8
jle 0x489e70
cmp rdx, 0x10
jle 0x489e59
cmp rdx, 0x20
jle 0x489e42
nop
cmp rdx, 0x40
jle 0x489e2a
cmp rdx, 0x80
jg 0x48a6d4
lea rax, [0x00694740]
call fcn.0040e980
lea rcx, [rax + 0x38]
mov edx, pe_nt_image_headers64
jmp 0x489e9c
lea rax, [0x006949c0]
call fcn.0040e980
lea rcx, [rax + 0x38]
mov edx, 0x40
nop
jmp 0x489e9c
lea rax, [0x00694880]
call fcn.0040e980
lea rcx, [rax + 0x38]
mov edx, 0x20
jmp 0x489e9c
lea rax, [0x006947e0]
call fcn.0040e980
lea rcx, [rax + 0x38]
mov edx, 0x10
jmp 0x489e9c
lea rax, [0x00694a60]
call fcn.0040e980
lea rcx, [rax + 0x38]
mov edx, 8
jmp 0x489e9c
lea rax, [0x00694920]
call fcn.0040e980
lea rcx, [rax + 0x38]
mov edx, 4
mov qword [rsp + 0xd0], rax
mov r8, qword [rsp + 0xb8]
test byte [r8], al
cmp dword [0x008c4560], 0
jne 0x489edb
mov r9, qword [r8]
mov qword [rax], r9
movups xmm0, xmmword [r8 + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [r8 + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [r8 + 0x28]
movups xmmword [rax + 0x28], xmm0
jmp 0x489f0f
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0xd8], rcx
mov rbx, rax
mov rcx, r8
lea rax, [0x0069adc0]
call dbg.runtime.typedmemmove
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x158]
test r8, r8
je 0x489f2f
mov r9, qword [rsp + 0x150]
xor ebx, ebx
xor esi, esi
xor edi, edi
jmp 0x48a57b
movzx r9d, byte [rsp + 0x180]
test r9b, r9b
mov ebx, 0
mov esi, 0
je 0x489f58
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x46], 0x76
xor edi, edi
jmp 0x48a566
mov byte [rsp + 0x45], 0
mov byte [rsp + 0x45], 0x2e
xor edi, edi
jmp 0x489f78
movzx r10d, byte [rsp + rdi + 0x45]
inc rdi
imul ebx, ebx, 0x1000193
xor ebx, r10d
cmp rdi, 1
jl 0x489f66
mov r10, qword [rsp + 0x170]
test r10, r10
je 0x489fa0
mov rdi, qword [rsp + 0x168]
xor r11d, r11d
jmp 0x48a3e1
cmp rsi, 0x32
jg 0x48a3bb
mov byte [rax + 0x14], 0
mov dword [rax + 0x10], ebx
mov word [rax + 0x30], r8w
mov word [rax + 0x32], r10w
nop dword [rax + rax]
test r9b, r9b
je 0x489fd1
or r10d, 0xffff8000
mov word [rax + 0x32], r10w
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x50], ebx
lea rax, [0x0086f228]
lea rcx, [rsp + 0x50]
lea rbx, [0x0067ab00]
call dbg.sync.(*Map).Load
test cl, cl
je 0x48a027
lea rdx, [0x00676360]
nop dword [rax]
cmp rax, rdx
jne 0x48a3ac
mov rsi, qword [rbx]
mov qword [rsp + 0x100], rsi
mov rdi, qword [rbx + 8]
mov qword [rsp + 0x80], rdi
xor eax, eax
jmp 0x48a345
nop
xor eax, eax
lea rdx, [0x0086f220]
mov esi, 1
lock cmpxchg dword [rdx], esi
sete dl
nop dword [rax]
test dl, dl
jne 0x48a050
lea rax, [0x0086f220]
call dbg.sync.(*Mutex).lockSlow
movups xmmword [rsp + 0x128], xmm15
lea rdx, [0x0048a900]
mov qword [rsp + 0x128], rdx
lea rdx, [0x0086f220]
mov qword [rsp + 0x130], rdx
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x138], rdx
mov byte [rsp + 0x47], 1
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x4c], edx
lea rax, [0x0086f228]
lea rbx, [0x0067ab00]
lea rcx, [rsp + 0x4c]
call dbg.sync.(*Map).Load
test cl, cl
je 0x48a0e7
lea rdx, [0x00676360]
nop word [rax + rax]
cmp rax, rdx
jne 0x48a315
mov rdx, qword [rbx]
mov qword [rsp + 0xf8], rdx
mov rsi, qword [rbx + 8]
mov qword [rsp + 0x80], rsi
xor eax, eax
jmp 0x48a291
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x90], 0
lea rcx, [0x0048a780]
mov qword [rsp + 0x88], rcx
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x90], ecx
mov rax, qword [rsp + 0xd0]
call dbg.reflect.funcStr
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], rbx
call dbg.reflect.typesByString
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x80], rbx
xor ecx, ecx
jmp 0x48a164
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + 1]
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x80]
cmp rbx, rcx
jle 0x48a1f0
mov qword [rsp + 0x78], rcx
mov rbx, qword [rax + rcx*8]
mov qword [rsp + 0x98], rbx
mov rax, qword [rsp + 0xd0]
mov ecx, 1
call dbg.reflect.haveIdenticalUnderlyingType
test al, al
je 0x48a14b
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
lea rdx, [rsp + 0x88]
call rcx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rdx]
call rcx
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x60]
xor ecx, ecx
xor edi, edi
xor esi, esi
call dbg.reflect.newName
call dbg.reflect.addReflectOff
mov rdx, qword [rsp + 0xd0]
mov dword [rdx + 0x28], eax
mov dword [rdx + 0x2c], 0
mov r8, qword [rsp + 0x88]
mov rax, rdx
lea rdx, [rsp + 0x88]
call r8
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x138]
mov r8, qword [rdx]
call r8
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rdi, qword [rsp + 0x78]
lea rax, [rdi + 1]
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x80]
cmp rax, rsi
jge 0x48a0e7
mov qword [rsp + 0x78], rax
mov rbx, qword [rdx + rax*8]
mov qword [rsp + 0xa0], rbx
mov ecx, 1
mov rax, qword [rsp + 0xd0]
call dbg.reflect.haveIdenticalUnderlyingType
nop dword [rax]
test al, al
je 0x48a278
lea rax, [0x0072bea0]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x110], rax
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x138]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rbx, rdx
lea rcx, [0x00683fc0]
nop
call fcn.0040bca0
mov r8, qword [rsp + 0x78]
lea rax, [r8 + 1]
lea rdx, [0x00676360]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x80]
cmp rax, rdi
jge 0x48a027
mov qword [rsp + 0x78], rax
mov rbx, qword [rsi + rax*8]
mov qword [rsp + 0xa8], rbx
mov ecx, 1
mov rax, qword [rsp + 0xd0]
call dbg.reflect.haveIdenticalUnderlyingType
test al, al
je 0x48a325
lea rcx, [0x0072bea0]
mov qword [rsp + 0x108], rcx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x110], rbx
mov rax, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rbx, rdx
lea rcx, [0x00683fc0]
call fcn.0040bca0
lea rax, [0x0067a940]
lea rbx, [0x007296d0]
call dbg.runtime.gopanic
add rdi, 0x10
mov r11, r9
mov rsi, r13
movzx r9d, byte [rsp + 0x180]
mov r12, qword [rdi + 8]
mov r13, qword [rdi]
lea r15, [0x0072bea0]
cmp r13, r15
jne 0x48a53e
lea r13, [rsi + 1]
nop dword [rax]
cmp rdx, r13
jae 0x48a498
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x80], r11
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0x48], ebx
lea rax, [0x006b2140]
mov rbx, rcx
mov rcx, rsi
mov rdi, rdx
mov rsi, r13
nop dword [rax]
call dbg.runtime.growslice
lea r13, [rbx + 1]
mov ebx, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x158]
movzx r9d, byte [rsp + 0x180]
mov r10, qword [rsp + 0x170]
mov r11, qword [rsp + 0x80]
mov r12, qword [rsp + 0xc0]
lea r15, [0x0072bea0]
mov rdx, rcx
mov rcx, rax
mov rax, qword [rsp + 0xd0]
lea r9, [rcx + rsi*8]
cmp dword [0x008c4560], 0
jne 0x48a4ab
mov qword [rcx + rsi*8], r12
jmp 0x48a4c4
mov rsi, rdi
mov rdi, r9
mov r8, r12
call dbg.runtime.gcWriteBarrierR8
mov rdi, rsi
mov r8, qword [rsp + 0x158]
mov dword [rsp + 0x54], 0
mov r9d, dword [r12 + 0x10]
shr r9d, 0x18
mov byte [rsp + 0x54], r9b
mov r9d, dword [r12 + 0x10]
shr r9d, 0x10
mov byte [rsp + 0x55], r9b
mov r9d, dword [r12 + 0x10]
shr r9d, 8
mov byte [rsp + 0x56], r9b
mov r9d, dword [r12 + 0x10]
mov byte [rsp + 0x57], r9b
xor esi, esi
jmp 0x48a525
lea r9, [r11 + 1]
cmp r10, r9
jg 0x48a3ce
jmp 0x48a52d
movzx r9d, byte [rsp + rsi + 0x54]
inc rsi
imul ebx, ebx, 0x1000193
xor ebx, r9d
cmp rsi, 4
jl 0x48a513
jmp 0x48a504
movzx r9d, byte [rsp + 0x180]
mov rsi, r13
jmp 0x489fa0
mov rax, r13
lea rbx, [0x006b2140]
lea rcx, [0x006ac6c0]
call dbg.runtime.panicdottypeI
movzx r10d, byte [rsp + rdi + 0x46]
inc rdi
imul ebx, ebx, 0x1000193
xor ebx, r10d
cmp rdi, 1
jl 0x48a554
jmp 0x489f58
add r9, 0x10
mov rbx, r10
mov rsi, r11
mov r10, qword [r9 + 8]
mov r11, qword [r9]
lea r12, [0x0072bea0]
cmp r11, r12
jne 0x48a6be
lea r11, [rsi + 1]
cmp rdx, r11
jae 0x48a616
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x5c], edi
lea rax, [0x006b2140]
mov rbx, rcx
mov rcx, rsi
mov rdi, rdx
mov rsi, r11
call dbg.runtime.growslice
lea r11, [rbx + 1]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x68]
mov edi, dword [rsp + 0x5c]
mov r8, qword [rsp + 0x158]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xc8]
lea r12, [0x0072bea0]
mov rdx, rcx
mov rcx, rax
mov rax, qword [rsp + 0xd0]
lea r13, [rcx + rsi*8]
cmp dword [0x008c4560], 0
jne 0x48a629
mov qword [rcx + rsi*8], r10
jmp 0x48a63e
mov esi, edi
mov rdi, r13
mov r15, rdx
mov rdx, r10
call dbg.runtime.gcWriteBarrierDX
mov rdx, r15
mov edi, esi
mov dword [rsp + 0x58], 0
mov r13d, dword [r10 + 0x10]
shr r13d, 0x18
mov byte [rsp + 0x58], r13b
mov r13d, dword [r10 + 0x10]
shr r13d, 0x10
mov byte [rsp + 0x59], r13b
mov r13d, dword [r10 + 0x10]
shr r13d, 8
mov byte [rsp + 0x5a], r13b
mov r10d, dword [r10 + 0x10]
mov byte [rsp + 0x5b], r10b
xor esi, esi
jmp 0x48a6a0
lea r10, [rbx + 1]
nop
cmp r8, r10
jg 0x48a571
jmp 0x48a6a8
movzx r10d, byte [rsp + rsi + 0x58]
inc rsi
imul edi, edi, 0x1000193
xor edi, r10d
nop dword [rax]
cmp rsi, 4
jl 0x48a68b
jmp 0x48a67a
movzx r9d, byte [rsp + 0x180]
test r9b, r9b
mov ebx, edi
mov rsi, r11
jmp 0x489f45
mov rax, r11
lea rbx, [0x006b2140]
lea rcx, [0x006ac6c0]
call dbg.runtime.panicdottypeI
lea rax, [0x0067a940]
lea rbx, [0x007296c0]
call dbg.runtime.gopanic
lea rax, [0x0067a940]
lea rbx, [0x007296b0]
call dbg.runtime.gopanic
nop
nop dword [rax + rax]
call dbg.runtime.deferreturn
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov byte [rsp + 0x38], r9b
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
movzx r9d, byte [rsp + 0x38]
jmp dbg.reflect.FuncOf