Function at 0x1400dd660
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
mov word [rsp + 0xce], ax
mov esi, dword [rsp + 0x24]
sub esi, 0x4a263199
mov ax, word [rsp + 0xce]
mov dword [rsp + 0x10c], esi
mov cx, word [rsp + 0xfc]
add byte [rsi - 0x7f], ah
rcr esi, 7
mov byte [rsp + 0xff], 0x4f
mov r11d, r11d
mov r9d, r11d
mov di, word [rsp + 0x56]
sub di, 0x9602
mov rbx, qword [rsp + 0x28]
add rbx, r9
add ebx, ecx
mov word [rsp + 0x11e], di
mov bpl, 0x36
mov r14b, byte [rsp + 0x55]
mov word [rsp + 0x22], ax
mov al, r14b
mul bpl
movzx r11d, r10w
mov r9d, r11d
mov byte [rsp + 0xff], al
shl r9, 2
add rbx, r9
mov qword [rsp + 0xd8], rbx
mov r10w, word [rsp + 0x22]
cmp cx, r10w
jb 0x1400dd3ee
jmp 0x1400dd26a
mov al, byte [rsp + 0x6f]
mov dword [rsp + 0x10c], 0x8c4cbffd
test al, 1
jne 0x1400dd146
jmp 0x1400dd53c
mov rax, qword [rsp + 0xa0]
add rsp, 0x120
pop rbp
pop r12
pop rsi
pop rdi
pop r15
pop rbx
pop r14
ret
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rax]
mov eax, ecx
mov rdx, qword [rsp + 0x28]
add rdx, rax
mov qword [rsp + 0xa0], rdx
jmp 0x1400dd250
mov al, byte [rsp + 0xfb]
mov cl, byte [rsp + 0x8f]
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
and al, 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
mov dword [rsp + 0x10c], edx
add eax, dword [rsp + 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