Function at 0x1400dd2b4
Capabilities:
Authenticate hmac

Disassembly:
mov rax, qword [rsp + 0x58]
or rax, rax
mov ecx, dword [rsp + 0xe4]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xb8], rax
mov edx, dword [rsp + 0xe4]
mov dword [rsp + 0xe8], edx
mov qword [rsp + 0xa0], 0
mov r8b, byte [rsp + 0x55]
mov byte [rsp + 0xff], r8b
mov edx, dword [rsp + 0x3c]
cmp ecx, edx
jb 0x1400dd44a
jmp 0x1400dd250
mov ax, 0x7615
mov word [rsp + 0x11e], 0x6142
mov cx, word [rsp + 0xfc]
mov rdx, qword [rsp + 0x58]
imul r8, rdx, 0x5a3d0674
mov r9, qword [rsp + 0x90]
mov r10w, word [r9]
mov qword [rsp + 0x100], r8
sub ax, cx
mov word [rsp + 0x11e], 0x65d5
mov r8, qword [rsp + 0x30]
mov r11d, dword [r8 + 0x1c]
mov word [rsp + 0x11e], 0xd6e1
test byte [rsi + rbx], ah
add dword [rax], eax
add cl, ah
invalid
mov word [rsp + 0xce], ax
mov esi, dword [rsp + 0x24]
sub esi, 0x4a263199
mov ax, word [rsp + 0xce]
test byte [rsi + rcx*8], ah
add byte [rax], al
add byte [rcx + 0x10c24b4], cl
add byte [rax], al
mov al, byte [rsp + 0x6f]
mov dword [rsp + 0x10c], 0x8c4cbffd
test al, 1
jne 0x1400dd146
jmp 0x1400dd53c
xor r8w, r8w
add eax, 0xd8c0b4b1
mov r9d, dword [rsp + 0xd0]
mov word [rsp + 0x11e], r8w
add r9d, edx
mov qword [rsp + 0x100], 0x7f7fff69
mov r10b, byte [rsp + 0xaf]
mov r11, qword [rsp + 0x58]
sub rcx, r11
mov bl, byte [rsp + 0x6f]
mov qword [rsp + 0x100], rcx
and bl, r10b
cmp r9d, eax
setb r10b
and bl, r10b
mov qword [rsp + 0x100], 0x6c5fbfe9
mov dword [rsp + 0xf0], r9d
mov word [rsp + 0x11e], 0xb3d5
test bl, 1
jne 0x1400dd32e
jmp 0x1400dd234
mov dword [rsp + 0x10c], 0x69fbebe6
mov eax, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0x24]
xor ecx, 0x7852d343
mov rdx, qword [rsp + 0x110]
mov dword [rsp + 0x10c], ecx
add rdx, 0xfffffffffa170bb2
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x100], r8
mov dword [rsp + 0xd0], eax
mov r9, qword [rsp + 0x110]
mov r10w, word [rsp + 0x56]
or r10w, r10w
mov word [rsp + 0x11e], r10w
add r9, 0x2212a79d
mov qword [rsp + 0x100], 0x6ee1e812
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x10c], ecx
mov eax, eax
mov r11d, eax
mov qword [rsp + 0xb0], r11
mov r11, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xb0]
mov bl, byte [r11 + rsi]
mov byte [rsp + 0xe3], bl
mov qword [rsp + 0x78], rdx
and al, 0x78
cmp qword [rsp + 0x78], r9
jb 0x1400dd4b1
jmp 0x1400dd5b7
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x68], eax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0x58]
xor rcx, 0xffffffffffffffff
mov qword [rsp + 0x100], rcx
mov eax, dword [rsp + 0x68]
mov ecx, eax
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rcx*4]
mov r8d, dword [rsp + 0xf4]
xor r8d, 0x273f4b6f
mov eax, eax
mov ecx, eax
mov r9, qword [rsp + 0x28]
add r9, rcx
mov qword [rsp + 0x70], r9
mov dword [rsp + 0xf0], r8d
jmp 0x1400dd32e
mov al, 0xca
mov ecx, dword [rsp + 0x24]
sub ecx, 0x27a774a6
mov dword [rsp + 0x10c], ecx
or al, 1
add byte [rax], al
mov ecx, dword [rsp + 0x24]
add ecx, ecx
mov rdx, qword [rsp + 0xb0]
mov dword [rsp + 0x10c], ecx
mov r8b, byte [rsp + 0x55]
mov byte [rsp + 0xff], r8b
mov r9, qword [rsp + 0x60]
mov r10b, byte [r9 + rdx]
mov dl, byte [rcx + rdx]
mov byte [rsp + 0xd7], r10b
mov r10b, byte [rsp + 0xfb]
mov r11b, byte [rsp + 0xe3]
cmp r11b, byte [rsp + 0xd7]
sete r11b
sub al, r10b
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x10c], ecx
and r11b, 1
mov byte [rsp + 0x6f], r11b
cmp byte [rsp + 0xe3], al
je 0x1400dd234
jmp 0x1400dd3ee
mov eax, dword [rsp + 0xf4]
mov qword [rsp + 0x100], 0x6bfb957d
mov rcx, qword [rsp + 0x90]
add rcx, 2
xor eax, 0x273f4b6e
mov edx, dword [rsp + 0x24]
mov dword [rsp + 0x10c], edx
mov qword [rsp + 0x80], rcx
sub edx, 0x661d154d
adc rax, 0xffffffff9489661d
and al, 0xc
add dword [rax], eax
add byte [rbx], al
and al, 0x68
mov dword [rsp + 0xe4], eax
mov r8w, word [rsp + 0xfc]
mov eax, dword [rsp + 0x24]
xor eax, eax
add r8w, 0x34c8
mov dword [rsp + 0x10c], eax
cmp r8w, word [rsp + 0xee]
je 0x1400dd610
jmp 0x1400dd0e7
mov eax, dword [rsp + 0x9c]
mov ecx, eax
mov rdx, qword [rsp + 0x58]
imul r8, rdx, 0x7e3d4f3e
mov qword [rsp + 0x100], r8
mov eax, dword [rsp + 0xf4]
mov r8, qword [rsp + 0x28]
add r8, rcx
xor eax, 0x273f4b6f
mov qword [rsp + 0xb8], r8
mov dword [rsp + 0xe8], eax
mov r9w, word [rsp + 0x56]
xor r9w, 0xffff
mov word [rsp + 0x11e], r9w
jmp 0x1400dd44a
mov eax, 0x45b7eafa
mov cl, byte [rsp + 0x55]
mov byte [rsp + 0xff], cl
mov rdx, qword [rsp + 0x110]
mov r8d, dword [rsp + 0xf4]
add rdx, 0x2402181
mov r9, qword [rsp + 0x110]
add r9, 0x2fcf8325
mov r10d, dword [rsp + 0x24]
mov dword [rsp + 0x10c], r10d
sub eax, r8d
mov r11, qword [rsp + 0x58]
or r11, 0x22084a99
or byte [rdx], ah
mov qword [rsp + 0x100], r11
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0xc0]
mov r11, qword [rsp + 0x30]
mov r8d, dword [r11 + 0x24]
mov dword [rsp + 0x9c], r8d
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xe8], eax
cmp rdx, r9
je 0x1400dd44a
jmp 0x1400dd5b7