Function at 0x14002e740
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x18], rsi
push r14
sub rsp, 0x20
xchg rsi, rax
mov rsi, qword [rdx + 0x10]
xchg rsi, rax
lea r9, [rdx + 0x10]
xchg rdi, rsi
mov qword [rsp + 0x38], rsi
xchg rdi, rsi
xchg rcx, rdx
mov rsi, rdx
xchg rdx, rcx
xchg r13, r14
mov r13, rdx
xchg r13, r14
cmp byte [rax + 0x19], 0
je 0x14002e7b0
mov rax, qword [rdx + 8]
lea r8, [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x14002e7e0
cmp rdx, qword [rax + 0x10]
jne 0x14002e7e0
mov rdx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14002e790
jmp 0x14002e7e0
xchg r10, rdx
mov r10, qword [rax]
xchg r10, rdx
cmp byte [rdx + 0x19], 0
jne 0x14002e7dc
xchg rcx, rbx
mov rbx, qword [rdx]
xchg rbx, rcx
mov rax, rdx
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x14002e7c3
lea r8, [r14 + 8]
xchg r11, rcx
mov r11, qword [r14]
xchg r11, rcx
mov rdi, qword [r9]
xchg rbx, rbp
mov qword [rsp + 0x30], rbp
xchg rbp, rbx
cmp byte [rcx + 0x19], 0
jne 0x14002e820
cmp byte [rdi + 0x19], 0
je 0x14002e813
mov rdi, rcx
jmp 0x14002e820
mov rdi, qword [rax + 0x10]
cmp rax, r14
jne 0x14002e94d
cmp byte [rdi + 0x19], 0
xchg r12, rbx
mov r12, qword [r8]
xchg rbx, r12
jne 0x14002e837
mov qword [rdi + 8], rbx
mov rax, qword [rsi]
cmp qword [rax + 8], r14
jne 0x14002e84d
mov qword [rax + 8], rdi
jmp 0x14002e86e
cmp qword [rbx], r14
jne 0x14002e864
xchg rdi, rcx
mov qword [rbx], rcx
xchg rdi, rcx
jmp 0x14002e86e
xchg r15, rdi
mov qword [rbx + 0x10], r15
xchg rdi, r15
xchg r8, rdx
mov rdx, qword [rsi]
xchg r8, rdx
cmp qword [r8], r14
jne 0x14002e8e1
cmp byte [rdi + 0x19], 0
je 0x14002e898
xchg rbx, r8
mov rdx, r8
xchg rbx, r8
jmp 0x14002e8d8
mov rcx, qword [rdi]
xchg rdx, r11
mov r11, rdi
xchg rdx, r11
cmp byte [rcx + 0x19], 0
jne 0x14002e8d8
nop word [rax + rax]
mov rax, qword [rcx]
xchg rcx, rdx
mov rcx, rdx
xchg rdx, rcx
xchg r13, rcx
mov r13, rax
xchg rcx, r13
cmp byte [rax + 0x19], 0
je 0x14002e8b9
xchg rbx, rdx
mov qword [r8], rbx
xchg rbx, rdx
xchg rcx, rdx
mov rcx, qword [rsi]
xchg rdx, rcx
cmp qword [rdx + 0x10], r14
jne 0x14002e9fa
cmp byte [rdi + 0x19], 0
je 0x14002e916
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
xchg rbx, rsi
mov qword [rdx + 0x10], rsi
xchg rsi, rbx
jmp 0x14002e9fa
mov rax, qword [rdi + 0x10]
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
cmp byte [rax + 0x19], 0
jne 0x14002e944
nop
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14002e92f
mov qword [rdx + 0x10], rcx
jmp 0x14002e9fa
mov qword [rcx + 8], rax
mov rcx, qword [r14]
mov qword [rax], rcx
cmp rax, qword [r9]
jne 0x14002e96c
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
jmp 0x14002e99f
cmp byte [rdi + 0x19], 0
mov rbx, qword [rax + 8]
jne 0x14002e97e
mov qword [rdi + 8], rbx
xchg rcx, rdi
mov qword [rbx], rcx
xchg rcx, rdi
xchg r12, rcx
mov r12, qword [r9]
xchg rcx, r12
mov qword [rax + 0x10], rcx
mov rcx, qword [r9]
xchg r11, rax
mov qword [rcx + 8], r11
xchg r11, rax
xchg rcx, r14
mov r14, qword [rsi]
xchg r14, rcx
cmp qword [rcx + 8], r14
jne 0x14002e9bf
xchg r15, rax
mov qword [rcx + 8], r15
xchg r15, rax
jmp 0x14002e9d7
mov rcx, qword [r8]
cmp qword [rcx], r14
jne 0x14002e9d3
mov qword [rcx], rax
jmp 0x14002e9d7
mov qword [rcx + 0x10], rax
xchg rcx, r12
mov r12, qword [r8]
xchg rcx, r12
movzx edx, byte [rax + 0x18]
xchg rcx, rbp
mov qword [rax + 8], rbp
xchg rcx, rbp
movzx ecx, byte [r14 + 0x18]
mov byte [rax + 0x18], cl
mov byte [r14 + 0x18], dl
cmp byte [r14 + 0x18], 1
jne 0x14002ee65
mov rax, qword [rsi]
cmp rdi, qword [rax + 8]
je 0x14002ee49
nop word [rax + rax]
cmp byte [rdi + 0x18], 1
mov r10, rbx
jne 0x14002ee49
mov rcx, qword [rbx]
cmp rdi, rcx
jne 0x14002ec32
xchg rcx, rsi
mov rsi, qword [rbx + 0x10]
xchg rcx, rsi
cmp byte [rcx + 0x18], 0
jne 0x14002eb3b
mov byte [rcx + 0x18], 0x13
xor byte [rcx + 0x18], 0x6f
sub byte [rcx + 0x18], 0x72
add byte [rcx + 0x18], 0x10
sub byte [rcx + 0x18], 0x17
sub byte [rcx + 0x18], 2
mov rcx, qword [rbx + 0x10]
mov byte [rbx + 0x18], 0x2e
add byte [rbx + 0x18], 0x2c
add byte [rbx + 0x18], 0x15
add byte [rbx + 0x18], 3
xor byte [rbx + 0x18], 0x21
sub byte [rbx + 0x18], 3
sub byte [rbx + 0x18], 0x45
xor byte [rbx + 0x18], 0x61
xor byte [rbx + 0x18], 0x6a
mov rax, qword [rcx]
xchg r13, rax
mov qword [rbx + 0x10], r13
xchg r13, rax
mov rax, qword [rcx]
cmp byte [rax + 0x19], 0
jne 0x14002eaac
xchg rsi, rbx
mov qword [rax + 8], rsi
xchg rsi, rbx
mov rax, qword [rbx + 8]
lea rdx, [rbx + 8]
xchg r8, rax
mov qword [rcx + 8], r8
xchg r8, rax
mov rax, qword [rsi]
cmp rbx, qword [rax + 8]
jne 0x14002eaee
mov qword [rax + 8], rcx
xchg r10, rbx
mov qword [rcx], r10
xchg rbx, r10
xchg rcx, r14
mov qword [rdx], r14
xchg rcx, r14
xchg rbp, rcx
mov rbp, qword [rbx + 0x10]
xchg rcx, rbp
jmp 0x14002eb3f
xchg r9, rax
mov r9, qword [rdx]
xchg r9, rax
cmp rbx, qword [rax]
jne 0x14002eb16
mov qword [rax], rcx
xchg rbx, rsi
mov qword [rcx], rsi
xchg rsi, rbx
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002eb3f
mov qword [rax + 0x10], rcx
xchg r12, rbx
mov qword [rcx], r12
xchg r12, rbx
xchg rbx, rcx
mov qword [rdx], rbx
xchg rbx, rcx
xchg r13, rcx
mov r13, qword [rbx + 0x10]
xchg rcx, r13
jmp 0x14002eb3f
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ed6a
mov r9, qword [rcx]
cmp byte [r9 + 0x18], 1
jne 0x14002eb69
xchg r9, rax
mov r9, qword [rcx + 0x10]
xchg r9, rax
cmp byte [rax + 0x18], 1
je 0x14002ed52
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x18], 1
jne 0x14002ebcb
mov byte [r9 + 0x18], 0x4d
xor byte [r9 + 0x18], 0x6e
sub byte [r9 + 0x18], 0x1c
add byte [r9 + 0x18], 0xc
add byte [r9 + 0x18], 0x16
add byte [r9 + 0x18], 0x1d
sub byte [r9 + 0x18], 0x45
xchg rcx, rdx
mov rcx, rdx
xchg rdx, rcx
mov byte [rcx + 0x18], 0x72
sub byte [rcx + 0x18], 0x47
sub byte [rcx + 0x18], 0x18
add byte [rcx + 0x18], 0x35
sub byte [rcx + 0x18], 0x1f
add byte [rcx + 0x18], 0x19
sub byte [rcx + 0x18], 0x42
mov rcx, rsi
call fcn.14002f7d0
mov rcx, qword [rbx + 0x10]
movzx eax, byte [rbx + 0x18]
xchg r14, rdx
mov r14, rbx
xchg rdx, r14
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x33
xor byte [rbx + 0x18], 0x45
xor byte [rbx + 0x18], 0x7c
xor byte [rbx + 0x18], 0x3f
sub byte [rbx + 0x18], 0x18
add byte [rbx + 0x18], 0x1b
xor byte [rbx + 0x18], 0x1d
xor byte [rbx + 0x18], 0x24
mov rax, qword [rcx + 0x10]
xchg rdx, rcx
mov rdx, rsi
xchg rcx, rdx
mov byte [rax + 0x18], 0x15
add byte [rax + 0x18], 0x3d
sub byte [rax + 0x18], 0x36
add byte [rax + 0x18], 0x4f
sub byte [rax + 0x18], 0x25
sub byte [rax + 0x18], 5
xor byte [rax + 0x18], 2
xor byte [rax + 0x18], 0x42
call fcn.14002f740
jmp 0x14002ee49
cmp byte [rcx + 0x18], 0
jne 0x14002ed28
mov byte [rcx + 0x18], 0x20
add byte [rcx + 0x18], 0x41
sub byte [rcx + 0x18], 0x20
xor byte [rcx + 0x18], 2
add byte [rcx + 0x18], 0x23
sub byte [rcx + 0x18], 1
xor byte [rcx + 0x18], 0x64
xchg r15, rcx
mov r15, qword [rbx]
xchg r15, rcx
mov byte [rbx + 0x18], 0x52
xor byte [rbx + 0x18], 0x21
sub byte [rbx + 0x18], 0x3b
xor byte [rbx + 0x18], 0x2b
xor byte [rbx + 0x18], 0x21
xor byte [rbx + 0x18], 0x32
mov rax, qword [rcx + 0x10]
xchg r12, rax
mov qword [rbx], r12
xchg r12, rax
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14002ec96
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 0x14002ecd2
mov qword [rax + 8], rcx
xchg rbx, r9
mov qword [rcx + 0x10], r9
xchg rbx, r9
xchg rsi, rcx
mov qword [rdx], rsi
xchg rcx, rsi
mov rcx, qword [rbx]
jmp 0x14002ed2c
mov rax, qword [rdx]
cmp rbx, qword [rax + 0x10]
jne 0x14002ecfe
xchg rcx, r15
mov qword [rax + 0x10], r15
xchg rcx, r15
xchg rbx, r13
mov qword [rcx + 0x10], r13
xchg rbx, r13
mov qword [rdx], rcx
mov rcx, qword [rbx]
jmp 0x14002ed2c
xchg r11, rcx
mov qword [rax], r11
xchg r11, rcx
xchg r9, rbx
mov qword [rcx + 0x10], r9
xchg r9, rbx
xchg rcx, r15
mov qword [rdx], r15
xchg r15, rcx
xchg rdi, rcx
mov rdi, qword [rbx]
xchg rdi, rcx
jmp 0x14002ed2c
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ed6a
mov r8, qword [rcx + 0x10]
cmp byte [r8 + 0x18], 1
jne 0x14002ed8c
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ed8c
mov byte [rcx + 0x18], 5
add byte [rcx + 0x18], 0x43
sub byte [rcx + 0x18], 0x14
add byte [rcx + 0x18], 0x40
xor byte [rcx + 0x18], 0x56
sub byte [rcx + 0x18], 0x22
xchg r10, rax
mov r10, qword [rsi]
xchg r10, rax
mov rdi, r10
xchg rbx, rbp
mov rbp, qword [rdx]
xchg rbp, rbx
cmp r10, qword [rax + 8]
jne 0x14002ea1d
jmp 0x14002ee49
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ede8
mov byte [r8 + 0x18], 0x1f
sub byte [r8 + 0x18], 0xe
add byte [r8 + 0x18], 0x2b
add byte [r8 + 0x18], 0x41
sub byte [r8 + 0x18], 0x63
xor byte [r8 + 0x18], 0x75
sub byte [r8 + 0x18], 0x6e
mov rdx, rcx
mov byte [rcx + 0x18], 0x28
xor byte [rcx + 0x18], 0
add byte [rcx + 0x18], 0x1a
add byte [rcx + 0x18], 0xe
sub byte [rcx + 0x18], 0x22
sub byte [rcx + 0x18], 0x2e
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
call fcn.14002f740
mov rcx, qword [rbx]
movzx eax, byte [rbx + 0x18]
xchg rbx, rdx
mov rbx, rdx
xchg rdx, rbx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x2e
add byte [rbx + 0x18], 0x4a
sub byte [rbx + 0x18], 0x20
add byte [rbx + 0x18], 0
xor byte [rbx + 0x18], 0x6d
xor byte [rbx + 0x18], 0x7d
sub byte [rbx + 0x18], 0x11
sub byte [rbx + 0x18], 0x29
sub byte [rbx + 0x18], 0xd
mov rax, qword [rcx]
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
mov byte [rax + 0x18], 0x66
xor byte [rax + 0x18], 0x35
sub byte [rax + 0x18], 0x52
add byte [rax + 0x18], 0x72
xor byte [rax + 0x18], 0x53
xor byte [rax + 0x18], 0x5c
xor byte [rax + 0x18], 0x7d
call fcn.14002f7d0
mov byte [rdi + 0x18], 0x7b
sub byte [rdi + 0x18], 0x5b
add byte [rdi + 0x18], 0x31
xor byte [rdi + 0x18], 0x5d
xor byte [rdi + 0x18], 0x58
sub byte [rdi + 0x18], 0x54
add byte [rdi + 0x18], 1
mov rcx, qword [rsi + 8]
xchg r14, rax
mov r14, rax
xchg r14, rax
xchg rdi, r11
mov r11, qword [rsp + 0x38]
xchg rdi, r11
xchg r10, rbx
mov r10, qword [rsp + 0x30]
xchg rbx, r10
test rcx, rcx
je 0x14002ee96
dec rcx
mov qword [rsi + 8], rcx
xchg rbx, rsi
mov rbx, qword [rsp + 0x40]
xchg rsi, rbx
add rsp, 0x20
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]