Function at 0x56c9f0
Capabilities:
Authenticate hmac

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x56cd33
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
lea rax, [0x00640a00]
mov qword [rsp], rax
call sym.a.out.exe_runtime.newobject
mov rax, qword [rsp + 8]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx]
call rcx
mov rax, qword [rsp]
mov rcx, qword [rsp + 8]
mov rdx, qword [rsp + 0x38]
mov qword [rdx + 0x40], rax
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x56cd11
mov qword [rdx + 0x48], rcx
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp]
mov rbx, qword [rsp + 0x38]
mov qword [rbx + 0x50], rcx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x56cd03
mov qword [rbx + 0x58], rax
mov rcx, qword [rcx + 0x28]
mov qword [rsp], rax
call rcx
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov rax, qword [rcx + 0x50]
mov rdx, qword [rcx + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp], rdx
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
lea rdx, [0x006091c0]
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rax
call sym.a.out.exe_runtime.makeslice
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx + 8]
mov qword [rcx + 0x30], rdx
mov qword [rcx + 0x38], rdx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x56ccf5
mov qword [rcx + 0x28], rax
mov rax, qword [rcx + 8]
lea rdx, [0x006091c0]
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rax
call sym.a.out.exe_runtime.makeslice
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx + 8]
mov qword [rcx + 0x18], rdx
mov qword [rcx + 0x20], rdx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x56cce7
mov qword [rcx + 0x10], rax
mov rdx, qword [rsp + 0x60]
cmp qword [rcx + 8], rdx
jl 0x56cc80
mov rax, qword [rsp + 0x58]
mov rbx, qword [rcx + 0x30]
cmp rbx, rdx
cmovg rbx, rdx
mov rsi, qword [rcx + 0x28]
cmp rax, rsi
jne 0x56cc4f
mov rbx, qword [rcx + 0x18]
cmp rbx, rdx
cmovg rbx, rdx
mov rdx, qword [rcx + 0x10]
cmp rdx, rax
jne 0x56cc32
mov rdx, qword [rcx + 0x30]
xor eax, eax
jmp 0x56cba2
movzx ebx, byte [rax + rsi]
xor ebx, 0x36
mov byte [rsi + rax], bl
inc rax
cmp rax, rdx
jge 0x56cbb9
mov rbx, qword [rcx + 0x30]
mov rsi, qword [rcx + 0x28]
cmp rax, rbx
jb 0x56cb95
jmp 0x56cd2a
mov rdx, qword [rcx + 0x18]
xor eax, eax
jmp 0x56cbce
movzx ebx, byte [rax + rsi]
xor ebx, 0x5c
mov byte [rsi + rax], bl
inc rax
cmp rax, rdx
jge 0x56cbe5
mov rbx, qword [rcx + 0x18]
mov rsi, qword [rcx + 0x10]
cmp rax, rbx
jb 0x56cbc1
jmp 0x56cd22
mov rax, qword [rcx + 0x50]
mov rdx, qword [rcx + 0x58]
mov rax, qword [rax + 0x38]
mov rbx, qword [rcx + 0x38]
mov rsi, qword [rcx + 0x30]
mov rdi, qword [rcx + 0x28]
mov qword [rsp], rdx
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rbx
call rax
lea rax, sym.a.out.exe_go.itab.crypto_hmac.hmac_hash.Hash
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x78], rax
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.a.out.exe_runtime.memmove
mov rcx, qword [rsp + 0x38]
jmp 0x56cb8d
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdx
mov qword [rsp], rsi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.a.out.exe_runtime.memmove
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
jmp 0x56cb75
mov rax, qword [rcx + 0x40]
mov rbx, qword [rcx + 0x48]
mov rax, qword [rax + 0x38]
mov qword [rsp], rbx
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x18], rdx
call rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
mov rcx, qword [rcx + 0x30]
mov qword [rsp], rdx
mov qword [rsp + 8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x10], xmm0
call rcx
mov rdx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x38]
jmp 0x56cb5d
lea rdi, [rcx + 0x10]
call sym.a.out.exe_runtime.gcWriteBarrier
jmp 0x56cb49
lea rdi, [rcx + 0x28]
call sym.a.out.exe_runtime.gcWriteBarrier
jmp 0x56cb04
lea rdi, [rbx + 0x58]
call sym.a.out.exe_runtime.gcWriteBarrier
jmp 0x56ca8c
lea rdi, [rdx + 0x48]
mov rax, rcx
call sym.a.out.exe_runtime.gcWriteBarrier
jmp 0x56ca5f
mov rcx, rbx
call sym.a.out.exe_runtime.panicIndex
mov rcx, rbx
call sym.a.out.exe_runtime.panicIndex
nop
call sym.a.out.exe_runtime.morestack_noctxt
jmp sym.a.out.exe_crypto_hmac.New