Function at 0x14017f9a0
Capabilities:
Authenticate hmac

Disassembly:
mov rax, rsp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r12
sub rsp, 0x70
movzx ebx, r8b
xchg r14, rcx
mov r12, r14
xchg rcx, r14
mov r8, rdx
sub r8, rcx
sar r8, 2
sar r8, 1
sar r8, 1
xchg rsi, rdx
mov rdx, r8
xchg rdx, rsi
xchg r8, rdi
mov qword [rsp + 0x98], rdi
xchg rdi, r8
sar rsi, 1
test rsi, rsi
jle 0x14017ff6b
xchg rbp, r14
mov qword [rax + 0x18], r14
xchg rbp, r14
xchg rsi, rdi
mov rdx, rdi
xchg rsi, rdi
xchg rdi, rbp
mov qword [rax - 0x20], rbp
xchg rdi, rbp
lea rdi, [r8 - 1]
shl rdx, 3
shl rdx, 1
xchg rcx, r10
mov r10, rdi
xchg rcx, r10
sar rcx, 1
add rdx, r12
xchg r13, rdx
mov qword [rax - 0x28], rdx
xchg rdx, r13
xor r9d, r9d
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
xchg rdi, r10
mov qword [rsp + 0x30], r10
xchg rdi, r10
lea ebp, [r9 - 1]
xchg rcx, r8
mov qword [rsp + 0x90], r8
xchg r8, rcx
nop
mov rax, qword [rdx - 0x10]
sub rdx, 0x10
dec rsi
xchg r12, rax
mov qword [rsp + 0x40], r12
xchg r12, rax
mov qword [rsp + 0xa8], rsi
mov r14, rsi
mov qword [rsp + 0x38], rdx
xchg rbp, r15
mov rbp, rsi
xchg r15, rbp
xchg r12, rax
mov r12, qword [rdx + 8]
xchg r12, rax
xchg rcx, rax
mov qword [rsp + 0x48], rcx
xchg rcx, rax
xchg r9, r10
mov qword [rdx], r10
xchg r9, r10
mov qword [rdx + 8], r9
cmp rsi, rcx
jge 0x14017fe12
nop dword [rax]
lea r13, [r15 + r15]
mov rdx, r13
lea r15, [r13 + 2]
shl rdx, 4
add rdx, r12
mov rax, qword [rdx + 0x18]
test rax, rax
je 0x14017fae9
lock inc dword [rax + 8]
mov rax, qword [rdx + 0x28]
mov rcx, qword [rdx + 0x10]
xchg rbx, rsi
mov rbx, qword [rdx + 0x18]
xchg rsi, rbx
test rax, rax
je 0x14017fb08
lock inc dword [rax + 8]
mov rdi, qword [rdx + 0x28]
lea rax, [rcx + 8]
mov rdx, qword [rdx + 0x20]
mov r11, qword [rax + 0x10]
add rdx, 8
cmp qword [rax + 0x18], 8
jb 0x14017fb2a
mov rax, qword [rax]
cmp qword [rdx + 0x18], 8
xchg rbp, r10
mov rbp, qword [rdx + 0x10]
xchg r10, rbp
jb 0x14017fb42
mov rdx, qword [rdx]
cmp r11, r10
xchg rcx, r10
mov r10, rcx
xchg r10, rcx
cmovb rcx, r11
test rcx, rcx
je 0x14017fb7b
sub rdx, rax
movzx r8d, word [rdx + rax]
cmp r8w, word [rax]
jne 0x14017fba0
add rax, 2
sub rcx, 1
jne 0x14017fb5e
cmp r10, r11
jae 0x14017fbf8
mov bpl, 0x38
xor bpl, 0x77
add bpl, 0x25
xor bpl, 0x5c
sub bpl, 0xa
xor bpl, 0xe1
jmp 0x14017fc21
mov eax, 0x3c2029a1
xor eax, 0x60ec643b
add eax, 0xd092071
xor eax, 0x20936fc1
add eax, 0x2ad65596
sub eax, 0x19916639
sub eax, 0x32317a1b
add eax, 0x3e97c10f
xor eax, 0x66f1381a
cmovb eax, ebp
test eax, eax
jns 0x14017fbfe
mov bpl, 0x78
sub bpl, 0x2c
xor bpl, 0x42
add bpl, 0x55
sub bpl, 0x2f
add bpl, 0x3a
add bpl, 0x91
jmp 0x14017fc21
jbe 0x14017fc1e
mov bpl, 0x45
add bpl, 0x36
sub bpl, 0x38
sub bpl, 0x16
add bpl, 0x1f
add bpl, 0x1a
sub bpl, 0x65
jmp 0x14017fc21
xor bpl, bpl
test rdi, rdi
je 0x14017fcb6
mov eax, 0x299f3ec5
add eax, 0x54c78b48
sub eax, 0x55b85b97
xor eax, 0x11194737
add eax, 0x2370df37
xor eax, 0x7782d422
add eax, 0xd55523a5
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14017fcb6
xchg rdx, rax
mov rdx, qword [rdi]
xchg rdx, rax
xchg r11, rdi
mov rcx, r11
xchg r11, rdi
call qword [rax]
mov eax, 0x413ebc3e
sub eax, 0x34417e5e
xor eax, 0x4ce3551e
xor eax, 0x58ac8b87
sub eax, 0x137be6aa
add eax, 0x3f758838
xor eax, 0x730103b5
add eax, 0xc852794d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14017fcb6
xchg rbx, rax
mov rbx, qword [rdi]
xchg rbx, rax
xchg r10, rcx
mov r10, rdi
xchg rcx, r10
call qword [rax + 8]
test rsi, rsi
je 0x14017fd42
mov eax, 0x4e67ba28
add eax, 0x17cba983
add eax, 0xbed10c1
sub eax, 0xf9dcdb4
xor eax, 0x6eb1b4d8
add eax, 0xf3cced9f
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x14017fd42
xchg r11, rax
mov r11, qword [rsi]
xchg r11, rax
xchg r11, rsi
mov rcx, r11
xchg rsi, r11
call qword [rax]
mov eax, 0x33463797
xor eax, 0x57bbb03
add eax, 0x24e7b55d
sub eax, 0x3b288c66
sub eax, 0x706b4bd
sub eax, 0x662ed0d
add eax, 0x3c326933
add eax, 0xb13a830b
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x14017fd42
mov rax, qword [rsi]
xchg rcx, r14
mov r14, rsi
xchg r14, rcx
call qword [rax + 8]
test bpl, bpl
jns 0x14017fd4f
lea r15, [r13 + 1]
add r14, r14
xor r9d, r9d
xchg rdx, r15
mov r15, rdx
xchg rdx, r15
shl rdx, 4
add rdx, r12
lea ebp, [r9 - 1]
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
mov qword [rdx], r9
xchg r9, rbx
mov qword [rdx + 8], rbx
xchg r9, rbx
mov qword [r12 + r14*8], rax
xchg rdi, r11
mov r11, qword [r12 + r14*8 + 8]
xchg rdi, r11
xchg rcx, rdx
mov qword [r12 + r14*8 + 8], rdx
xchg rdx, rcx
test rdi, rdi
je 0x14017fddd
mov eax, ebp
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14017fddd
mov rax, qword [rdi]
xchg rdx, rdi
mov rcx, rdx
xchg rdx, rdi
call qword [rax]
mov eax, ebp
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14017fddd
mov rax, qword [rdi]
xchg rsi, rcx
mov rsi, rdi
xchg rcx, rsi
call qword [rax + 8]
xchg rbp, rcx
mov rbp, qword [rsp + 0x90]
xchg rbp, rcx
mov r14, r15
cmp r15, rcx
jl 0x14017fac6
mov rsi, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x98]
xchg rdi, r15
mov r15, qword [rsp + 0x30]
xchg r15, rdi
cmp r15, rcx
jne 0x14017fe5a
test r8b, 1
jne 0x14017fe5a
xchg r8, r10
mov rdx, r10
xchg r10, r8
add r14, r14
shl rdx, 1
shl rdx, 2
shl rdx, 1
neg rdx
add rdx, 0x10
neg rdx
add rdx, r12
lea rcx, [r12 + r14*8]
call fcn.140184a90
xchg r14, rcx
mov rcx, rdi
xchg r14, rcx
lea r9, [rsp + 0x40]
mov byte [rsp + 0x20], bl
xchg r8, r9
mov r9, rsi
xchg r9, r8
xchg rdx, r9
mov r9, r14
xchg r9, rdx
xchg r8, rcx
mov r8, r12
xchg r8, rcx
call fcn.1401835f0
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14017fed7
mov eax, ebp
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14017fed7
xchg rdi, rbx
mov rbx, qword [rsp + 0x48]
xchg rbx, rdi
mov rcx, rdi
xchg r8, rax
mov r8, qword [rdi]
xchg r8, rax
call qword [rax]
mov eax, ebp
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14017fed7
mov rcx, qword [rsp + 0x48]
xchg r8, rax
mov r8, qword [rcx]
xchg r8, rax
call qword [rax + 8]
xchg r8, r14
mov r14, qword [rsp + 0x98]
xchg r8, r14
mov r9d, 0x5b43f31c
sub r9d, 0x53743379
xor r9d, 0x62bde2db
sub r9d, 0x2e37089e
sub r9d, 0x6431623
sub r9d, 0x1e465605
sub r9d, 0xd723ed2
xor r9d, 0x50cc109b
sub r9d, 0x55f3b97b
xchg rcx, r14
mov r14, qword [rsp + 0x90]
xchg rcx, r14
xchg r15, rdx
mov r15, qword [rsp + 0x38]
xchg r15, rdx
lea rdi, [r8 - 1]
test rsi, rsi
jg 0x14017fa6e
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
xchg rdi, rbx
mov rbx, qword [rsp + 0x68]
xchg rbx, rdi
mov rbp, qword [rsp + 0xa0]
add rsp, 0x70
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
push rcx
push rdx
push rdx
push rdx
xchg qword [rsp + 0x20], rbx
add rsp, 0x28
nop
add rsp, 8
jmp qword [rsp - 8]