Function at 0x1400d862c
Capabilities:
Authenticate hmac

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov r12, r12
xchg rcx, r12
mov qword [rax + 8], r12
xchg rcx, r12
nop
push 0x22d92ab0
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
xchg rdx, rdx
push r9
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rax - 0xe8]
mov dword [rsp - 0x28], 0x3b075145
neg rsp
sub rsp, 0xfffffffffffffe58
neg rsp
movzx edi, byte [r9 + 0x80]
xchg rdi, rdi
xor r15d, r15d
xchg r9, r14
mov rsi, r14
xchg r14, r9
xchg r8, r14
mov r8, r14
xchg r8, r14
test edi, edi
mov dword [rsp - 0x18], esp
je 0x1400d9180
sub edi, 1
je 0x1400d90de
sub edi, 1
mov dword [rsp - 0xc], edx
je 0x1400d9094
sub edi, 1
je 0x1400d9068
mov dword [rsp - 0x1c], ecx
sub edi, 1
je 0x1400d9034
sub edi, 1
mov r10, r10
je 0x1400d8fc7
cmp edi, 1
jne 0x1400d8fa8
mov eax, dword [r8]
xchg r11, r11
cmp eax, 6
jne 0x1400d8fb7
lea rbx, [r9 + 0x60]
mov byte [rbp + 0x108], dil
xchg r12, r12
xchg r15, rax
mov r15, qword [rbx + 0x18]
xchg r15, rax
lea rcx, [rsp + 0x38]
mov r11, r11
mov rdx, rbx
mov qword [rsp + 0x50], rax
mov r13b, dil
mov qword [rsp + 0x38], r15
mov dword [rsp - 0x2c], ebp
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
call fcn.1400d8164
xchg rcx, r14
mov r14, qword [rbx]
xchg rcx, r14
test rcx, rcx
je 0x1400d8783
call fcn.140098de0
xchg r8, r8
xchg r15, r11
mov qword [rbx], r11
xchg r11, r15
xchg r12, rdi
mov rdi, qword [rsp + 0x40]
xchg rdi, r12
mov rcx, r15
xchg r15, r12
mov qword [rbx + 0x10], r12
xchg r15, r12
mov edx, 0x3eac473e
add edx, 0x4eb05b8
sub edx, 0x2fb8e2a1
sub edx, 0x13de69cd
xchg rsi, r15
mov qword [rbx + 8], rsi
xchg r15, rsi
xchg rcx, r11
mov qword [rsp + 0x58], r11
xchg rcx, r11
cmp dword [r14 + 8], r15d
xchg r12, r12
jbe 0x1400d8ea6
mov rax, qword [r14 + 0x10]
lea rcx, [rcx + rcx*2]
lea r13, [rax + rcx*8]
mov r9, r9
mov eax, dword [r13]
mov qword [rsp + 0x68], r13
cmp eax, 6
jne 0x1400d8a30
mov rcx, rcx
xchg r9, rdi
mov r9, qword [rsp + 0x40]
xchg rdi, r9
test rdi, rdi
je 0x1400d8e84
mov dword [rsp - 0x14], 0x249e9623
xchg rcx, r11
mov r11, rdx
xchg rcx, r11
call fcn.140098c90
test rax, rax
je 0x1400d8852
mov rbp, rbp
mov dl, 0x7a
sub dl, 0x6e
add dl, 0x64
sub dl, 0x6d
add dl, 2
xchg r15, rcx
mov r15, rax
xchg rcx, r15
call fcn.1400d60d0
xchg r9, r9
jmp 0x1400d8859
xchg rdi, rax
mov rdi, r15
xchg rdi, rax
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov dword [rsp - 0x30], ecx
xchg r8, rbx
mov rcx, r8
xchg rbx, r8
call fcn.14009bbdc
xchg r8, r8
test rdi, rdi
xchg rcx, rdi
mov rdi, qword [rax]
xchg rdi, rcx
mov rax, qword [rsp + 0x38]
cmovne r15, rax
je 0x1400d889f
mov r12, r12
lea r12, [rax + rdi*8]
jmp 0x1400d88a6
xor r12d, r12d
mov dword [rsp - 0x34], esp
lea r9, [rcx + 0x60]
mov qword [rsp + 0x30], r9
cmp r15, r12
mov rsp, rsp
je 0x1400d89ef
mov r14, qword [rbp + 0xf0]
xchg r9, rsp
mov rbx, rsp
xchg r9, rsp
mov r13, qword [r15]
mov ecx, 0x771692f0
xor ecx, 0x7c4591ff
add ecx, 0xadf02ef
sub ecx, 0x16320576
call fcn.140098c90
test rax, rax
xchg r14, r14
je 0x1400d890c
mov dl, byte [r13 + 0x80]
xchg rdi, rax
mov rcx, rdi
xchg rdi, rax
call fcn.1400d60d0
xchg r8, r8
lea rdx, [rsp + 0x60]
xchg r9, rax
mov qword [rsp + 0x60], r9
xchg r9, rax
mov rcx, rbx
mov dword [rsp - 0x38], ebx
call fcn.14009bbdc
mov rdi, qword [rax]
mov al, byte [rdi + 0x80]
mov dword [rsp - 0x24], 0x7cd2c557
neg al
sub al, 0xfb
neg al
cmp al, 1
mov r14, r14
ja 0x1400d89b1
lea rdx, [r13 + 0x60]
lea rcx, [rdi + 0x60]
mov r10, r10
call fcn.1400d8164
xor eax, eax
lea rdx, [rdi + 0x60]
mov r8, r8
xchg rdx, rax
mov qword [rsp + 0x70], rdx
xchg rdx, rax
lea rcx, [rsp + 0x70]
mov dword [rsp - 0x14], esi
xchg rbp, rax
mov qword [rsp + 0x78], rbp
xchg rbp, rax
xchg rdi, rax
mov qword [rbp - 0x80], rdi
xchg rdi, rax
mov rax, qword [rdi + 0x78]
mov r12, r12
xchg rcx, rax
mov qword [rbp - 0x78], rcx
xchg rcx, rax
call fcn.1400d8164
mov dword [rsp - 0x34], ebx
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.1400d972c
mov dword [rsp - 0x10], 0x5f838bc3
nop
sub r15, 0x21d36627
add r15, 0x21d3662f
cmp r15, r12
mov dword [rsp - 0x1c], 0x61ebfb93
jne 0x1400d88cb
mov r14, qword [rbp + 0x100]
lea rbx, [rsi + 0x60]
xchg r9, rdi
mov rdi, qword [rsp + 0x30]
xchg r9, rdi
mov r13, qword [rsp + 0x68]
mov r11, r11
mov rax, qword [rbp + 0x110]
xchg rbx, r13
mov r8, rbx
xchg rbx, r13
xchg rdi, rdx
mov rdi, qword [rbp + 0xf8]
xchg rdi, rdx
xchg rcx, rsi
mov rsi, qword [rbp + 0xf0]
xchg rcx, rsi
mov qword [rsp + 0x20], rax
xchg r9, r9
call fcn.1400d84bc
mov r12, qword [rsp + 0x40]
jmp 0x1400d8e34
test r12, r12
jne 0x1400d8e8f
cmp eax, 5
mov dword [rsp - 0x2c], 0x4e2b5d70
jne 0x1400d8b14
xchg rdx, rcx
mov rdx, rcx
xchg rdx, rcx
call fcn.140098c90
mov dword [rsp - 0x18], esi
test rax, rax
je 0x1400d8a8c
xor edx, edx
mov dword [rsp - 0x18], 0xa71d924
xchg rcx, rsp
mov rsp, rax
xchg rcx, rsp
call fcn.1400d60d0
mov dword [rsp - 0x3c], 0x615b6a83
xchg r10, rax
mov r15, r10
xchg r10, rax
cmp qword [rbx + 8], 0
je 0x1400d8d9a
mov dword [rsp - 0x2c], 0x76221c87
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 8], rcx
jb 0x1400d8d92
mov dword [rsp - 0x18], 0x24398f6c
add rcx, qword [rbx + 0x18]
xchg rdi, rcx
mov qword [rbx + 0x10], rdi
xchg rcx, rdi
shl rcx, 1
shl rcx, 2
call fcn.1400990f0
mov r10, r10
xor edx, edx
mov rdi, rax
cmp qword [rbx + 8], rdx
jbe 0x1400d8d6a
mov dword [rsp - 0x2c], 0x603a33d0
mov rax, qword [rbx]
xchg rbx, rcx
mov rbx, qword [rax + rdx*8]
xchg rbx, rcx
mov qword [rdi + rdx*8], rcx
inc rdx
mov dword [rsp - 0x3c], 0x63b506b9
cmp rdx, qword [rbx + 8]
jb 0x1400d8ae9
jmp 0x1400d8d6a
cmp eax, 8
jne 0x1400d8bda
xchg r13, rcx
mov r13, rdx
xchg r13, rcx
call fcn.140098c90
mov rdx, rdx
test rax, rax
je 0x1400d8b54
mov dl, 0x18
xor dl, 0x39
add dl, 0x3c
xor dl, 0x5c
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.1400d60d0
xchg rbp, rbp
mov r15, rax
cmp qword [rbx + 8], 0
je 0x1400d8d9a
mov rcx, qword [rbx + 0x10]
mov dword [rsp - 0x1c], 0x337d5cbb
cmp qword [rbx + 8], rcx
jb 0x1400d8d92
add rcx, qword [rbx + 0x18]
mov dword [rsp - 0x1c], esp
xchg r12, rcx
mov qword [rbx + 0x10], r12
xchg rcx, r12
shl rcx, 3
xchg r11, r11
call fcn.1400990f0
xor edx, edx
xchg rsp, rax
mov rdi, rsp
xchg rsp, rax
cmp qword [rbx + 8], rdx
jbe 0x1400d8d6a
mov rax, qword [rbx]
xchg rsp, rsp
xchg rcx, r8
mov r8, qword [rax + rdx*8]
xchg rcx, r8
xchg r9, rcx
mov qword [rdi + rdx*8], r9
xchg r9, rcx
inc rdx
cmp rdx, qword [rbx + 8]
mov dword [rsp - 0x20], 0x5aeb13da
jb 0x1400d8ba6
jmp 0x1400d8d6a
cmp eax, 1
jne 0x1400d8ca6
xchg rdx, rdx
mov rcx, rdx
call fcn.140098c90
test rax, rax
je 0x1400d8c1e
xchg rdi, rdi
mov dl, 0x3e
xor dl, 0x79
xor dl, 0x4f
sub dl, 6
xchg rdx, rcx
mov rdx, rax
xchg rcx, rdx
call fcn.1400d60d0
mov r15, rax
mov dword [rsp - 0x34], 0x5f2d4c94
cmp qword [rbx + 8], 0
je 0x1400d8d9a
xchg rcx, r8
mov r8, qword [rbx + 0x10]
xchg r8, rcx
cmp qword [rbx + 8], rcx
jb 0x1400d8d92
add rcx, qword [rbx + 0x18]
mov dword [rsp - 0x14], 0x769060ea
xchg r11, rcx
mov qword [rbx + 0x10], r11
xchg rcx, r11
shl rcx, 1
shl rcx, 2
call fcn.1400990f0
xor edx, edx
xchg r15, rdi
mov r15, rax
xchg rdi, r15
cmp qword [rbx + 8], rdx
mov dword [rsp - 0x34], 0x383abc91
jbe 0x1400d8d6a
xchg rdx, rax
mov rdx, qword [rbx]
xchg rdx, rax
mov rcx, qword [rax + rdx*8]
xchg rcx, rsp
mov qword [rdi + rdx*8], rsp
xchg rsp, rcx
inc rdx
cmp rdx, qword [rbx + 8]
xchg rsi, rsi
jb 0x1400d8c7c
jmp 0x1400d8d6a
nop
add eax, 0xc9ae88af
sub eax, 0xc9ae88b1
cmp eax, 1
ja 0x1400d8e8f
mov dword [rsp - 0x20], esi
xchg rdx, r12
mov rcx, r12
xchg r12, rdx
call fcn.140098c90
mov dword [rsp - 0x14], ecx
test rax, rax
je 0x1400d8cf7
mov dl, 0x2f
xor dl, 0xe
sub dl, 0x1d
add dl, 0
xchg rsp, rax
mov rcx, rsp
xchg rsp, rax
call fcn.1400d60d0
xchg rbp, rax
mov r15, rbp
xchg rbp, rax
cmp qword [rbx + 8], 0
je 0x1400d8d9a
mov dword [rsp - 0x24], 0x7879f117
xchg rcx, r11
mov r11, qword [rbx + 0x10]
xchg r11, rcx
cmp qword [rbx + 8], rcx
xchg rsp, rsp
jb 0x1400d8d92
add rcx, qword [rbx + 0x18]
mov qword [rbx + 0x10], rcx
shl rcx, 3
xchg rbx, rbx
call fcn.1400990f0
xor edx, edx
xchg r8, rax
mov rdi, r8
xchg r8, rax
cmp qword [rbx + 8], rdx
xchg rdi, rdi
jbe 0x1400d8d6a
xchg rsp, rax
mov rsp, qword [rbx]
xchg rsp, rax
mov rcx, qword [rax + rdx*8]
mov qword [rdi + rdx*8], rcx
xchg rbp, rbp
inc rdx
cmp rdx, qword [rbx + 8]
jb 0x1400d8d4b
xchg rcx, r12
mov r12, qword [rbx]
xchg r12, rcx
test rcx, rcx
xchg rcx, rcx
je 0x1400d8d84
call fcn.140098de0
xchg rdi, rcx
mov qword [rbx], rcx
xchg rdi, rcx
jmp 0x1400d8dce
mov rdi, qword [rbx]
jmp 0x1400d8dce
mov rdi, qword [rbx]
test rdi, rdi
xchg rcx, rcx
jne 0x1400d8dce
mov rcx, qword [rbx + 0x18]
xchg r15, rcx
mov qword [rbx + 0x10], r15
xchg rcx, r15
shl rcx, 3
call fcn.1400990f0
mov dword [rsp - 0x28], 0xa142a92
mov rdi, rax
mov qword [rbx], rax
mov rcx, qword [rbx + 8]
lea rax, [rcx + 1]
mov dword [rsp - 0x28], esi
mov qword [rbx + 8], rax
mov qword [rdi + rcx*8], r15
test r15, r15
je 0x1400d8e8f
mov dword [rsp - 0x34], esi
xchg r15, rax
mov r15, qword [rbp + 0x110]
xchg r15, rax
xchg r15, r10
mov r9, r10
xchg r15, r10
xchg rdx, r14
mov r14, qword [rbp + 0xf8]
xchg rdx, r14
xchg r8, r10
mov r10, r13
xchg r10, r8
xchg rcx, r11
mov r11, qword [rbp + 0xf0]
xchg rcx, r11
xchg r12, rax
mov qword [rsp + 0x20], r12
xchg r12, rax
call fcn.1400d862c
xor r15d, r15d
test al, al
xchg rcx, rcx
je 0x1400d8e8f
mov rcx, qword [rsp + 0x58]
mov eax, dword [r14 + 8]
xchg rbx, rbx
inc rcx
mov qword [rsp + 0x58], rcx
cmp rcx, rax
mov r15, r15
jae 0x1400d8e9f
mov edx, 0x32f544b2
xor edx, 0x70326311
sub edx, 0x4cb3f56
xor edx, 0x140ebaf8
sub edx, 0x29f5522d
jmp 0x1400d87d4
xchg rdi, r12
mov rdi, qword [rsp + 0x40]
xchg rdi, r12
mov r13b, r15b
mov dword [rsp - 0x34], 0x2152ad19
jmp 0x1400d8ea6
mov r13b, byte [rbp + 0x108]
xchg rcx, rax
mov rcx, qword [rsp + 0x38]
xchg rcx, rax
test r12, r12
mov rbx, r15
mov rcx, rcx
cmovne rbx, rax
je 0x1400d8ec9
lea r15, [rax + r12*8]
mov r12, r12
cmp rbx, r15
je 0x1400d8f44
or rdi, 0xffffffffffffffff
mov dword [rsp - 0x34], ebp
mov r14, qword [rbx]
add dword [r14 + 0x84], edi
cmp dword [r14 + 0x84], 0
mov rbp, rbp
jg 0x1400d8f26
xchg r15, r14
mov rcx, r15
xchg r14, r15
call fcn.1400d6250
mov edx, 0x197a4f44
xor edx, 0x6427ed8
add edx, 0x140456b1
sub edx, 0x333c87c5
mov rcx, r14
mov dword [rsp - 0xc], ecx
call fcn.140098ca0
sub rbx, 0xfffffffffffffff8
cmp rbx, r15
mov dword [rsp - 0x2c], 0x4bd2fc01
jne 0x1400d8eda
xchg r13, rax
mov r13, qword [rsp + 0x38]
xchg r13, rax
test r13b, r13b
jne 0x1400d8f69
xchg r10, r10
test rax, rax
je 0x1400d9179
mov rcx, rax
call fcn.140098de0
xchg rdi, rdi
jmp 0x1400d9179
mov byte [rsi + 0x81], 0x79
sub byte [rsi + 0x81], 0x77
add byte [rsi + 0x81], 0x65
sub byte [rsi + 0x81], 0x46
xor byte [rsi + 0x81], 0x20
test rax, rax
mov dword [rsp - 0x10], ecx
je 0x1400d8fa8
xchg r9, rax
mov rcx, r9
xchg r9, rax
call fcn.140098de0
mov rdx, rdx
mov al, 0
add al, 0x7e
sub al, 0x61
add al, 0x3d
sub al, 0x59
jmp 0x1400d9291
test eax, eax
jne 0x1400d9179
xchg rdi, rdi
jmp 0x1400d8fa8
cmp dword [r8], 6
jne 0x1400d902c
xchg rbx, rax
mov rbx, qword [rbp + 0x110]
xchg rbx, rax
neg r9
add r9, 0xffffffffffffffa0
neg r9
xchg rdx, rax
mov qword [rsp + 0x20], rdx
xchg rdx, rax
call fcn.1400d84bc
test al, al
mov dword [rsp - 0x30], 0x4947788a
je 0x1400d9179
mov byte [rsi + 0x81], 0x54
sub byte [rsi + 0x81], 0x41
add byte [rsi + 0x81], 0xd
xor byte [rsi + 0x81], 0x17
sub byte [rsi + 0x81], 0x36
jmp 0x1400d8fa8
cmp dword [r8], r15d
jmp 0x1400d8fb9
mov eax, dword [r8]
mov dword [rsp - 0x44], edi
nop
add eax, 0x6a0894b7
sub eax, 0x6a0894b9
cmp eax, 1
mov dword [rsp - 0x30], 0x5cb21ff2
ja 0x1400d9179
xchg rbp, rax
mov rbp, qword [r8 + 8]
xchg rbp, rax
mov qword [r9 + 0x58], rax
jmp 0x1400d90b1
mov eax, dword [r8]
add eax, 0xfffffffe
cmp eax, 1
mov dword [rsp - 0x18], 0x4787091a
ja 0x1400d9179
mov eax, dword [r8 + 8]
mov dword [r9 + 0x54], eax
mov dword [rsp - 0x2c], 0x6041381f
jmp 0x1400d90b1
cmp dword [r8], 1
mov dword [rsp - 0x28], 0x323e9cc9
jne 0x1400d9179
mov al, byte [r8 + 8]
mov byte [r9 + 0x50], al
mov rcx, rcx
mov byte [r9 + 0x81], 0x69
sub byte [r9 + 0x81], 0x52
xor byte [r9 + 0x81], 0x69
sub byte [r9 + 0x81], 0x53
xor byte [r9 + 0x81], 0x2a
jmp 0x1400d8fa8
cmp dword [r8], 8
je 0x1400d90fa
mov dword [rsp - 0x2c], 0x33c69855
cmp dword [r8], 5
jne 0x1400d9168
mov rcx, qword [r9 + 0x40]
xchg rbx, r10
mov r10, qword [r8 + 0x10]
xchg r10, rbx
mov edi, dword [r8 + 8]
test rcx, rcx
je 0x1400d9122
mov dword [rsp - 0x14], 0x792e34f
call fcn.140098ca0
xchg r12, r15
mov qword [rsi + 0x40], r12
xchg r12, r15
mov rcx, rdi
mov dword [rsi + 0x48], edi
mov dword [rsp - 0x18], edx
call fcn.140098c90
xchg rsi, rdi
mov r8, rsi
xchg rsi, rdi
xchg r9, rax
mov qword [rsi + 0x40], r9
xchg r9, rax
xchg rdx, rbx
mov rbx, rdx
xchg rdx, rbx
xchg r15, rcx
mov r15, rax
xchg r15, rcx
call fcn.140099310
jmp 0x1400d9004
cmp dword [r8], r15d
je 0x1400d8fa8
mov dword [rsp - 0x44], 0x530e90fa
xor al, al
jmp 0x1400d9291
mov eax, dword [r8]
cmp eax, 5
xchg r8, r8
jne 0x1400d9284
movsxd rbx, dword [r8 + 8]
lea rax, [rbp - 0x68]
mov r14, r14
xchg rsi, r14
mov rsi, qword [r8 + 0x10]
xchg rsi, r14
lea rcx, [rbp - 0x68]
mov r12d, 0x22e74c56
add r12d, 0x524e50f2
sub r12d, 0x49626d5
sub r12d, 0x546cf6b
xor r12d, 0x6b58a608
xchg rsp, rax
mov qword [rbp - 0x70], rsp
xchg rsp, rax
mov r8d, r12d
mov dword [rsp - 0x24], 0x79519428
xor edx, edx
call fcn.140099440
or rdi, 0xffffffffffffffff
cmp rbx, rdi
mov dword [rsp - 0x28], 0xa63aeff
jne 0x1400d9212
inc rdi
cmp byte [r14 + rdi], r15b
jne 0x1400d91f9
xchg r10, r10
xchg rbx, rdi
mov rdi, rbx
xchg rdi, rbx
mov r8, rbx
mov rsi, rsi
lea rcx, [rbp - 0x70]
mov rdx, r14
call fcn.140091510
mov dword [rsp - 0x1c], edx
mov rdx, qword [rbp - 0x70]
mov rcx, rsi
call fcn.1400545f0
mov rbx, rbx
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x68]
mov byte [rsi + 0x81], 0x48
add byte [rsi + 0x81], 0x17
xor byte [rsi + 0x81], 0x4a
add byte [rsi + 0x81], 0x1e
xor byte [rsi + 0x81], 0x32
cmp rcx, rax
jne 0x1400d8fa0
lea rdi, [rbp - 0x68]
mov rsi, rsi
xor eax, eax
xchg rcx, r13
mov r13, r12
xchg rcx, r13
rep stosb byte [rdi], al
jmp 0x1400d8fa8
test eax, eax
mov dword [rsp - 0x2c], 0x6df9b681
sete al
sub rsp, 0xfffffffffffffe58
pop r15
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
mov rdi, qword [rsp]
add rsp, 8
pop rsi
mov r13, r13
nop
mov rbx, qword [rsp]
add rsp, 8
pop rbp
mov dword [rsp - 0x1c], esp
ret