Function at 0x14002e570
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x18], rsi
nop
mov qword [rsp - 8], r14
sub rsp, 8
sub rsp, 0x20
xchg r11, rax
mov r11, qword [rdx + 0x10]
xchg r11, rax
lea r9, [rdx + 0x10]
xchg rbx, rdi
mov qword [rsp + 0x38], rbx
xchg rdi, rbx
mov rsi, rcx
xchg rcx, r14
mov rcx, rdx
xchg r14, rcx
cmp byte [rax + 0x19], 0
je 0x14002e5ea
xchg r10, rax
mov r10, qword [rdx + 8]
xchg r10, rax
lea r8, [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x14002e61a
cmp rdx, qword [rax + 0x10]
jne 0x14002e61a
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14002e5c6
jmp 0x14002e61a
mov rdx, qword [rax]
cmp byte [rdx + 0x19], 0
jne 0x14002e616
mov rcx, qword [rdx]
xchg r8, rdx
mov rax, r8
xchg rdx, r8
xchg rcx, rdx
mov rcx, rdx
xchg rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x14002e5f7
lea r8, [r14 + 8]
mov rcx, qword [r14]
xchg rdi, rcx
mov rcx, qword [r9]
xchg rcx, rdi
mov qword [rsp + 0x30], rbx
cmp byte [rcx + 0x19], 0
jne 0x14002e660
cmp byte [rdi + 0x19], 0
je 0x14002e64d
xchg rdi, rcx
mov rcx, rdi
xchg rdi, rcx
jmp 0x14002e660
xchg rsi, rdi
mov rsi, qword [rax + 0x10]
xchg rdi, rsi
cmp rax, r14
jne 0x14002e77f
cmp byte [rdi + 0x19], 0
mov rbx, qword [r8]
jne 0x14002e671
mov qword [rdi + 8], rbx
xchg r12, rax
mov r12, qword [rsi]
xchg r12, rax
cmp qword [rax + 8], r14
jne 0x14002e691
xchg rdi, r9
mov qword [rax + 8], r9
xchg r9, rdi
jmp 0x14002e6ac
cmp qword [rbx], r14
jne 0x14002e6a8
xchg rdi, rcx
mov qword [rbx], rcx
xchg rcx, rdi
jmp 0x14002e6ac
mov qword [rbx + 0x10], rdi
xchg r8, rdx
mov rdx, qword [rsi]
xchg rdx, r8
cmp qword [r8], r14
jne 0x14002e715
cmp byte [rdi + 0x19], 0
je 0x14002e6d0
mov rdx, rbx
jmp 0x14002e712
xchg rcx, rbp
mov rbp, qword [rdi]
xchg rcx, rbp
xchg rdi, r15
mov rdx, r15
xchg r15, rdi
cmp byte [rcx + 0x19], 0
jne 0x14002e712
nop word [rax + rax]
xchg rbp, rax
mov rbp, qword [rcx]
xchg rbp, rax
mov rdx, rcx
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
cmp byte [rax + 0x19], 0
je 0x14002e6f7
mov qword [r8], rdx
xchg r13, rdx
mov r13, qword [rsi]
xchg rdx, r13
cmp qword [rdx + 0x10], r14
jne 0x14002e83a
cmp byte [rdi + 0x19], 0
je 0x14002e744
mov rcx, rbx
xchg r14, rbx
mov qword [rdx + 0x10], r14
xchg rbx, r14
jmp 0x14002e83a
xchg r10, rax
mov r10, qword [rdi + 0x10]
xchg r10, rax
xchg r8, rcx
mov r8, rdi
xchg rcx, r8
cmp byte [rax + 0x19], 0
jne 0x14002e776
nop
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14002e761
mov qword [rdx + 0x10], rcx
jmp 0x14002e83a
mov qword [rcx + 8], rax
mov rcx, qword [r14]
xchg rcx, rbp
mov qword [rax], rbp
xchg rbp, rcx
cmp rax, qword [r9]
jne 0x14002e7a6
xchg rbx, r13
mov r13, rax
xchg rbx, r13
jmp 0x14002e7d5
cmp byte [rdi + 0x19], 0
xchg r9, rbx
mov r9, qword [rax + 8]
xchg rbx, r9
jne 0x14002e7c4
xchg r14, rbx
mov qword [rdi + 8], r14
xchg r14, rbx
mov qword [rbx], rdi
mov rcx, qword [r9]
mov qword [rax + 0x10], rcx
mov rcx, qword [r9]
mov qword [rcx + 8], rax
xchg rcx, r14
mov r14, qword [rsi]
xchg rcx, r14
cmp qword [rcx + 8], r14
jne 0x14002e7f1
mov qword [rcx + 8], rax
jmp 0x14002e817
xchg r9, rcx
mov r9, qword [r8]
xchg rcx, r9
cmp qword [rcx], r14
jne 0x14002e80f
xchg r12, rax
mov qword [rcx], r12
xchg r12, rax
jmp 0x14002e817
xchg r9, rax
mov qword [rcx + 0x10], r9
xchg r9, rax
xchg rcx, rbp
mov rbp, qword [r8]
xchg rcx, rbp
movzx edx, byte [rax + 0x18]
xchg r15, rcx
mov qword [rax + 8], r15
xchg r15, rcx
movzx ecx, byte [r14 + 0x18]
mov byte [rax + 0x18], cl
mov byte [r14 + 0x18], dl
cmp byte [r14 + 0x18], 1
jne 0x14002ecb9
mov rax, qword [rsi]
cmp rdi, qword [rax + 8]
je 0x14002ec95
nop word [rax + rax]
cmp byte [rdi + 0x18], 1
xchg r10, r12
mov r12, rbx
xchg r12, r10
jne 0x14002ec95
mov rcx, qword [rbx]
cmp rdi, rcx
jne 0x14002ea72
xchg rcx, rdx
mov rdx, qword [rbx + 0x10]
xchg rcx, rdx
cmp byte [rcx + 0x18], 0
jne 0x14002e97f
mov byte [rcx + 0x18], 0x63
sub byte [rcx + 0x18], 0x50
xor byte [rcx + 0x18], 0x1d
xor byte [rcx + 0x18], 0x5c
sub byte [rcx + 0x18], 0x26
sub byte [rcx + 0x18], 0x2b
mov rcx, qword [rbx + 0x10]
mov byte [rbx + 0x18], 0x3e
sub byte [rbx + 0x18], 0xd
add byte [rbx + 0x18], 9
sub byte [rbx + 0x18], 0x26
sub byte [rbx + 0x18], 8
add byte [rbx + 0x18], 0x22
add byte [rbx + 0x18], 6
xor byte [rbx + 0x18], 0x4a
sub byte [rbx + 0x18], 0x7e
xchg rbp, rax
mov rbp, qword [rcx]
xchg rbp, rax
mov qword [rbx + 0x10], rax
xchg r14, rax
mov r14, qword [rcx]
xchg r14, rax
cmp byte [rax + 0x19], 0
jne 0x14002e8f0
mov qword [rax + 8], rbx
xchg r15, rax
mov r15, qword [rbx + 8]
xchg r15, rax
lea rdx, [rbx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rsi]
cmp rbx, qword [rax + 8]
jne 0x14002e92c
mov qword [rax + 8], rcx
xchg rbx, r11
mov qword [rcx], r11
xchg rbx, r11
xchg rcx, rbx
mov qword [rdx], rbx
xchg rbx, rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002e983
xchg rdi, rax
mov rdi, qword [rdx]
xchg rdi, rax
cmp rbx, qword [rax]
jne 0x14002e960
xchg rcx, r14
mov qword [rax], r14
xchg rcx, r14
xchg rdi, rbx
mov qword [rcx], rdi
xchg rdi, rbx
mov qword [rdx], rcx
xchg rcx, r15
mov r15, qword [rbx + 0x10]
xchg rcx, r15
jmp 0x14002e983
xchg rbp, rcx
mov qword [rax + 0x10], rbp
xchg rbp, rcx
mov qword [rcx], rbx
xchg rcx, r14
mov qword [rdx], r14
xchg rcx, r14
mov rcx, qword [rbx + 0x10]
jmp 0x14002e983
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ebb0
mov r9, qword [rcx]
cmp byte [r9 + 0x18], 1
jne 0x14002e9a9
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x18], 1
je 0x14002eb8c
xchg r8, rax
mov r8, qword [rcx + 0x10]
xchg r8, rax
cmp byte [rax + 0x18], 1
jne 0x14002ea15
mov byte [r9 + 0x18], 0x56
sub byte [r9 + 0x18], 0x26
sub byte [r9 + 0x18], 0x1f
add byte [r9 + 0x18], 0x47
add byte [r9 + 0x18], 0x20
sub byte [r9 + 0x18], 6
sub byte [r9 + 0x18], 8
sub byte [r9 + 0x18], 8
sub byte [r9 + 0x18], 0x61
xchg rdx, r13
mov r13, rcx
xchg r13, rdx
mov byte [rcx + 0x18], 0x27
add byte [rcx + 0x18], 0xf
sub byte [rcx + 0x18], 0x13
xor byte [rcx + 0x18], 0x7d
sub byte [rcx + 0x18], 0xf
sub byte [rcx + 0x18], 0x4f
mov rcx, rsi
call fcn.14002f6d0
mov rcx, qword [rbx + 0x10]
movzx eax, byte [rbx + 0x18]
xchg rbx, rdx
mov rbx, rdx
xchg rbx, rdx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x50
sub byte [rbx + 0x18], 0x26
add byte [rbx + 0x18], 0x1e
xor byte [rbx + 0x18], 0x7c
xor byte [rbx + 0x18], 0x1e
xor byte [rbx + 0x18], 0x2b
xchg r15, rax
mov r15, qword [rcx + 0x10]
xchg r15, rax
mov rcx, rsi
mov byte [rax + 0x18], 0x23
add byte [rax + 0x18], 0x58
sub byte [rax + 0x18], 0x5e
add byte [rax + 0x18], 0xd
add byte [rax + 0x18], 0x40
xor byte [rax + 0x18], 0x18
sub byte [rax + 0x18], 0x43
xor byte [rax + 0x18], 0x2e
call fcn.14002f610
jmp 0x14002ec95
cmp byte [rcx + 0x18], 0
jne 0x14002eb62
mov byte [rcx + 0x18], 0x10
add byte [rcx + 0x18], 0xd
add byte [rcx + 0x18], 0x5e
sub byte [rcx + 0x18], 0x3e
xor byte [rcx + 0x18], 0x1a
xor byte [rcx + 0x18], 0x7b
xor byte [rcx + 0x18], 0x7c
xor byte [rcx + 0x18], 0x21
xchg rsi, rcx
mov rsi, qword [rbx]
xchg rsi, rcx
mov byte [rbx + 0x18], 0x66
sub byte [rbx + 0x18], 0x49
add byte [rbx + 0x18], 0x3f
xor byte [rbx + 0x18], 0x47
add byte [rbx + 0x18], 0xf
add byte [rbx + 0x18], 0x4b
xor byte [rbx + 0x18], 0x22
xor byte [rbx + 0x18], 0x6b
sub byte [rbx + 0x18], 0x3c
xchg rsi, rax
mov rsi, qword [rcx + 0x10]
xchg rsi, rax
xchg rcx, rax
mov qword [rbx], rcx
xchg rcx, rax
xchg rsi, rax
mov rsi, qword [rcx + 0x10]
xchg rsi, rax
cmp byte [rax + 0x19], 0
jne 0x14002eaf4
xchg rbx, rdx
mov qword [rax + 8], rdx
xchg rdx, rbx
mov rax, qword [rbx + 8]
lea rdx, [rbx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rsi]
cmp rbx, qword [rax + 8]
jne 0x14002eb26
mov qword [rax + 8], rcx
xchg rbx, rsi
mov qword [rcx + 0x10], rsi
xchg rsi, rbx
mov qword [rdx], rcx
mov rcx, qword [rbx]
jmp 0x14002eb66
xchg rbx, rax
mov rbx, qword [rdx]
xchg rbx, rax
cmp rbx, qword [rax + 0x10]
jne 0x14002eb4a
mov qword [rax + 0x10], rcx
mov qword [rcx + 0x10], rbx
mov qword [rdx], rcx
mov rcx, qword [rbx]
jmp 0x14002eb66
mov qword [rax], rcx
xchg rbx, r9
mov qword [rcx + 0x10], r9
xchg r9, rbx
mov qword [rdx], rcx
mov rcx, qword [rbx]
jmp 0x14002eb66
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ebb0
mov r8, qword [rcx + 0x10]
cmp byte [r8 + 0x18], 1
jne 0x14002ebc8
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ebc8
mov byte [rcx + 0x18], 0x2c
add byte [rcx + 0x18], 0xc
sub byte [rcx + 0x18], 0x12
sub byte [rcx + 0x18], 1
xor byte [rcx + 0x18], 0x7b
xor byte [rcx + 0x18], 0x5a
xor byte [rcx + 0x18], 0x34
xor byte [rcx + 0x18], 0x7e
sub byte [rcx + 0x18], 0x4e
mov rax, qword [rsi]
mov rdi, r10
mov rbx, qword [rdx]
cmp r10, qword [rax + 8]
jne 0x14002e85d
jmp 0x14002ec95
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ec40
mov byte [r8 + 0x18], 0x56
sub byte [r8 + 0x18], 0x3a
add byte [r8 + 0x18], 0x2a
xor byte [r8 + 0x18], 0x7f
sub byte [r8 + 0x18], 0x1d
add byte [r8 + 0x18], 0x4e
add byte [r8 + 0x18], 2
sub byte [r8 + 0x18], 0x14
sub byte [r8 + 0x18], 0x57
xchg rdx, rbx
mov rbx, rcx
xchg rbx, rdx
mov byte [rcx + 0x18], 0x26
add byte [rcx + 0x18], 0x54
sub byte [rcx + 0x18], 0x31
sub byte [rcx + 0x18], 0x28
add byte [rcx + 0x18], 0x13
add byte [rcx + 0x18], 0x35
xor byte [rcx + 0x18], 0x59
add byte [rcx + 0x18], 0x46
xor byte [rcx + 0x18], 0x76
xchg rsi, rbx
mov rcx, rbx
xchg rbx, rsi
call fcn.14002f610
mov rcx, qword [rbx]
movzx eax, byte [rbx + 0x18]
xchg rdx, rbx
mov rbx, rdx
xchg rbx, rdx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x5e
add byte [rbx + 0x18], 9
sub byte [rbx + 0x18], 1
xor byte [rbx + 0x18], 0x69
sub byte [rbx + 0x18], 7
sub byte [rbx + 0x18], 7
xchg rsi, rax
mov rsi, qword [rcx]
xchg rsi, rax
xchg rdx, rsi
mov rcx, rdx
xchg rdx, rsi
mov byte [rax + 0x18], 0x36
sub byte [rax + 0x18], 0x20
add byte [rax + 0x18], 0x62
xor byte [rax + 0x18], 0x59
sub byte [rax + 0x18], 5
sub byte [rax + 0x18], 0x1b
call fcn.14002f6d0
mov byte [rdi + 0x18], 0x61
xor byte [rdi + 0x18], 0x49
add byte [rdi + 0x18], 2
add byte [rdi + 0x18], 0x30
xor byte [rdi + 0x18], 0x6b
add byte [rdi + 0x18], 0x10
xor byte [rdi + 0x18], 0x7a
sub byte [rdi + 0x18], 0x19
xor byte [rdi + 0x18], 0x23
xchg r8, rcx
mov r8, qword [rsi + 8]
xchg r8, rcx
xchg rdi, rax
mov rdi, r14
xchg rdi, rax
mov rdi, qword [rsp + 0x38]
xchg r8, rbx
mov r8, qword [rsp + 0x30]
xchg rbx, r8
test rcx, rcx
je 0x14002ecf0
dec rcx
xchg rbp, rcx
mov qword [rsi + 8], rbp
xchg rbp, rcx
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
nop
xchg qword [rsp], r14
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]