Function at 0x14005f1d0
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 8], rbx
xchg rcx, rsi
mov qword [rsp + 0x18], rcx
xchg rcx, rsi
push rbp
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x50]
sub rsp, 0x150
xchg rbx, r11
mov r11, rcx
xchg r11, rbx
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x58], r12d
xor r8d, r8d
lea rdx, [rsp + 0x50]
call fcn.14005fb10
test al, al
je 0x14005f62d
mov r15d, dword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
cmp dword [rbx + 0x24], 5
jne 0x14005f682
cmp rsi, 0xffffffffffffffff
je 0x14005f682
bt r15d, 8
jae 0x14005f682
lea rdx, [rbp - 0x50]
xchg r12, rbx
mov rcx, r12
xchg rbx, r12
call fcn.14005c6a0
nop
xchg rsi, rdi
mov rsi, qword [rbx + 0x28]
xchg rdi, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0x1361a4a0
xor qword [rsp + 0x60], 0x79765dde
sub qword [rsp + 0x60], 0x309f269e
xor qword [rsp + 0x60], 0x42204b9
sub qword [rsp + 0x60], 0x1596e50c
xor qword [rsp + 0x60], 0x14ec7298
add qword [rsp + 0x60], 0x2d779547
xor qword [rsp + 0x60], 0x6a8e15dd
sub qword [rsp + 0x60], 0xa290cbb
mov qword [rsp + 0x68], 0x443c72cf
add qword [rsp + 0x68], 0xb56d904
xor qword [rsp + 0x68], 0xa3f9004
add qword [rsp + 0x68], 0x260ff084
add qword [rsp + 0x68], 0x6b6c8de
sub qword [rsp + 0x68], 0x7273952a
mov eax, dword [0x140001780]
mov dword [rsp + 0x50], eax
movzx eax, word [0x140001784]
mov word [rsp + 0x54], ax
mov byte [rsp + 0x56], r12b
movups xmmword [rsp + 0x70], xmm0
lea edx, [r12 + 0x50]
lea rcx, [rsp + 0x70]
call fcn.1400535a0
xchg r13, rax
mov qword [rsp + 0x70], r13
xchg r13, rax
mov qword [rbp - 0x80], 0x1f4bc22a
sub qword [rbp - 0x80], 0x1719a7cc
add qword [rbp - 0x80], 0xb349685
add qword [rbp - 0x80], 0x1470bd6f
xor qword [rbp - 0x80], 0x598c4370
sub qword [rbp - 0x80], 0x3755ef7c
sub qword [rbp - 0x80], 0x398364c8
xor qword [rbp - 0x80], 0x1f2d7d20
sub qword [rbp - 0x80], 0x12aca5be
mov qword [rbp - 0x78], 0x7fab77ea
xor qword [rbp - 0x78], 0x3a322208
sub qword [rbp - 0x78], 0x1f45ff74
xor qword [rbp - 0x78], 0xd76e5ff
xor qword [rbp - 0x78], 0x1d89d9fd
add qword [rbp - 0x78], 0x10096758
xor qword [rbp - 0x78], 0x58daebd1
sub qword [rbp - 0x78], 0x1e6f39c6
movaps xmm0, xmmword [0x140001b60]
xchg r12, rax
movups xmmword [r12], xmm0
xchg r12, rax
movaps xmm1, xmmword [0x140001b70]
xchg r13, rax
movups xmmword [r13 + 0x10], xmm1
xchg r13, rax
movaps xmm0, xmmword [0x140001b80]
xchg r8, rax
movups xmmword [r8 + 0x20], xmm0
xchg r8, rax
movaps xmm1, xmmword [0x140001b90]
xchg rdi, rax
movups xmmword [rdi + 0x30], xmm1
xchg rdi, rax
mov byte [rax + 0x40], r12b
lea rax, [rsp + 0x50]
xchg r8, rax
mov qword [rsp + 0x20], r8
xchg r8, rax
lea r9, [rsp + 0x70]
mov r8d, dword [rbx + 0x24]
lea rdx, [rbp - 0x70]
xchg rcx, r11
mov r11, rbx
xchg rcx, r11
call fcn.1400554b0
nop
mov qword [rsp + 0x20], r12
xchg rdi, r9
mov rdi, rax
xchg rdi, r9
mov r8, qword [rbx + 0x18]
lea edx, [r12 + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140038bc0
nop
mov byte [rdi + 0x28], 0x75
sub byte [rdi + 0x28], 0x69
xor byte [rdi + 0x28], 2
add byte [rdi + 0x28], 0x57
xor byte [rdi + 0x28], 0x33
sub byte [rdi + 0x28], 0x43
add byte [rdi + 0x28], 0x22
sub byte [rdi + 0x28], 0x34
cmp byte [rdi + 0x29], r12b
jne 0x14005fae8
lea rbx, [0x140004a88]
xchg r10, rbx
mov qword [rbp - 0x10], r10
xchg r10, rbx
lea rcx, [rbp - 8]
call fcn.1401fd778
xchg rbx, r14
mov qword [rbp - 0x30], r14
xchg r14, rbx
lea rcx, [rbp - 0x28]
call fcn.1401fd778
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x14005f513
inc rdx
xchg rcx, r9
mov r9, qword [rbp - 0x70]
xchg r9, rcx
xchg r11, rax
mov r11, rcx
xchg r11, rax
cmp rdx, 0x1000
jb 0x14005f50e
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14005f50e
call fcn.140bdd2a8
int3
call fcn.1401fc710
movdqa xmm0, xmmword [0x140002c80]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0x35
sub byte [rbp - 0x70], 0xc
xor byte [rbp - 0x70], 0x77
sub byte [rbp - 0x70], 0x1d
add byte [rbp - 0x70], 0xb
xor byte [rbp - 0x70], 0x4c
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14005f588
inc rdx
mov rcx, qword [rsp + 0x70]
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14005f582
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005f582
push rbx
call fcn.1405689f6
int3
call fcn.1401fc710
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14005f5d9
inc rdx
mov rcx, qword [rsp + 0x50]
xchg r14, rax
mov r14, rcx
xchg r14, rax
cmp rdx, 0x1000
jb 0x14005f5d3
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005f5d3
push rdx
call fcn.140443324
int3
call fcn.1401fc710
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14005f62d
inc rdx
xchg rcx, rdx
mov rdx, qword [rbp - 0x50]
xchg rdx, rcx
xchg r9, rax
mov r9, rcx
xchg r9, rax
cmp rdx, 0x1000
jb 0x14005f628
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f628
call fcn.14052e833
int3
call fcn.1401fc710
xor al, al
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
nop
xchg qword [rsp], r15
add rsp, 8
nop
mov r14, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
push rdx
push rdx
push rcx
push rax
push rbx
push rdx
push rbx
xchg qword [rsp + 0x38], rdi
add rsp, 0x40
push rdx
push rax
push rdx
xchg qword [rsp + 0x18], rbp
add rsp, 0x20
nop
add rsp, 8
jmp qword [rsp - 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0x25889fae
sub qword [rsp + 0x48], 0xb23a5bd
add qword [rsp + 0x48], 0x14bdb6dd
xor qword [rsp + 0x48], 0x63f33885
add qword [rsp + 0x48], 0x24dfe129
sub qword [rsp + 0x48], 0x65897c31
sub qword [rsp + 0x48], 0xc27ed34
mov byte [rsp + 0x30], r12b
xchg rdi, r15
mov r15, qword [rbx + 0x28]
xchg r15, rdi
xchg rcx, rsi
mov rsi, rdi
xchg rcx, rsi
cmp rsi, 0xffffffffffffffff
je 0x14005f937
xchg rdx, rsi
mov rsi, rdx
xchg rsi, rdx
call fcn.140070640
test al, al
je 0x14005fad4
xchg r12, r14
mov r12, r14
xchg r12, r14
test r15d, r15d
je 0x14005f84e
test rsi, rsi
je 0x14005f7e3
nop
mov r8b, 0x18
xor r8b, 0x69
add r8b, 6
sub r8b, 0x5c
add r8b, 9
xor r8b, 0x70
sub r8b, 0x2c
xor r8b, 0x29
lea rdx, [rsp + 0x30]
xchg rsi, rbx
mov rcx, rsi
xchg rsi, rbx
call fcn.140063b50
test al, al
je 0x14005fad4
xchg rdi, r10
mov r10, qword [rbx + 0x28]
xchg rdi, r10
mov rax, qword [rdi + 0x10]
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg r11, rcx
mov r11, qword [rax + 8]
xchg r11, rcx
call fcn.14004e430
mov qword [rdi + 0x20], rax
mov edx, r15d
xchg r13, rcx
mov r13, rbx
xchg r13, rcx
call fcn.140064ae0
test al, al
je 0x14005fad4
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg r12, r13
mov qword [rsp + 0x40], r13
xchg r13, r12
mov byte [rax], 0x6c
sub byte [rax], 0x57
xor byte [rax], 0x4b
sub byte [rax], 0x4d
add byte [rax], 0x42
xor byte [rax], 0xd
xor byte [rax], 0x7f
add byte [rax], 6
sub byte [rax], 0x27
inc r14
cmp r14, rsi
jb 0x14005f723
mov rax, qword [rbx + 0x28]
add qword [rax + 0x10], 0xfffffffffffffff8
mov bl, 0x64
add bl, 0x17
sub bl, 0x47
add bl, 0x47
sub bl, 4
xor bl, 0x76
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14005fae0
inc rdx
xchg rsi, rcx
mov rsi, qword [rsp + 0x30]
xchg rcx, rsi
xchg rbx, rax
mov rbx, rcx
xchg rbx, rax
cmp rdx, 0x1000
jb 0x14005fadb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005fadb
push rax
call fcn.140a55187
nop
test rsi, rsi
je 0x14005f7e3
nop dword [rax]
nop word [rax + rax]
mov r8b, 0x26
add r8b, 0xd
sub r8b, 0x23
xor r8b, 0x54
sub r8b, 0x26
add r8b, 0x2d
add r8b, 9
sub r8b, 0x53
lea rdx, [rsp + 0x30]
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.140063b50
test al, al
je 0x14005fad4
xchg r11, rdi
mov r11, qword [rbx + 0x28]
xchg r11, rdi
mov rax, qword [rdi + 0x10]
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg rcx, rdx
mov rdx, qword [rax + 8]
xchg rcx, rdx
call fcn.14004e430
xchg rsi, rax
mov qword [rdi + 0x20], rsi
xchg rsi, rax
mov dl, 0x60
sub dl, 0x2d
xor dl, 0x4e
sub dl, 0x63
sub dl, 5
add dl, 0xc
add dl, 0x27
sub dl, 0x47
xchg rdi, rcx
mov rdi, rbx
xchg rcx, rdi
call fcn.14006c1b0
test al, al
je 0x14005fad4
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], r12
mov byte [rax], 7
xor byte [rax], 0x21
add byte [rax], 1
xor byte [rax], 0x6f
xor byte [rax], 0x7e
sub byte [rax], 5
sub byte [rax], 0x31
inc r14
cmp r14, rsi
jb 0x14005f866
jmp 0x14005f7e3
mov byte [rbp + 0x88], 0x18
add byte [rbp + 0x88], 0x1e
sub byte [rbp + 0x88], 0x36
xor byte [rbp + 0x88], 0x1b
xor byte [rbp + 0x88], 0x75
add byte [rbp + 0x88], 0
sub byte [rbp + 0x88], 0x32
sub byte [rbp + 0x88], 0x3b
lea rdx, [rbp + 0x88]
call fcn.140048320
mov qword [rbp + 0x88], rax
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi + 0x18]
je 0x14005f99d
mov qword [rdx], rax
add qword [rdi + 0x10], 8
jmp 0x14005f9ad
lea r8, [rbp + 0x88]
lea rcx, [rdi + 8]
call fcn.140032fc0
cmp dword [rbx + 0x10], 0x7d
je 0x14005f7e3
nop word [rax + rax]
xor r8d, r8d
lea rdx, [rsp + 0x30]
xchg rcx, r12
mov r12, rbx
xchg r12, rcx
call fcn.140063b50
test al, al
je 0x14005fad4
mov rdi, qword [rbx + 0x28]
xchg rcx, rax
mov rcx, qword [rdi + 0x10]
xchg rcx, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14004e430
xchg rsi, rax
mov qword [rdi + 0x20], rsi
xchg rsi, rax
mov dl, 0x63
xor dl, 0xc
xor dl, 2
sub dl, 0x51
sub dl, 6
add dl, 0x42
sub dl, 0xa
add dl, 0x20
xor dl, 0x6f
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.14006c1b0
test al, al
je 0x14005fad4
inc qword [rbx + 0x18]
xchg rcx, rax
mov rcx, qword [rbx]
xchg rcx, rax
cmp rax, qword [rbx + 8]
je 0x14005fa64
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x4e
je 0x14005fa35
jmp 0x14005fa8e
mov dword [rbx + 0x10], 0x65ae7fd6
sub dword [rbx + 0x10], 0x56050660
add dword [rbx + 0x10], 0x128605e2
xor dword [rbx + 0x10], 0x1896387f
xor dword [rbx + 0x10], 0x6f6e1be7
add dword [rbx + 0x10], 0xaa28a33f
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg r12, r14
mov qword [rsp + 0x40], r14
xchg r12, r14
mov byte [rax], 0x64
sub byte [rax], 0x39
xor byte [rax], 0x73
add byte [rax], 9
xor byte [rax], 0x50
xor byte [rax], 0x14
xor byte [rax], 0x6f
xor byte [rax], 0x7b
sub byte [rax], 0x31
cmp dword [rbx + 0x10], 0x7d
jne 0x14005f9c1
jmp 0x14005f7e3
xor bl, bl
jmp 0x14005f7fd
call fcn.1401fc710
movzx eax, bl
jmp 0x14005f62f
xchg rsi, rax
mov rdx, rsi
xchg rsi, rax
lea rcx, [rbp + 0x10]
call fcn.14004bf00
lea rdx, [0x140215180]
lea rcx, [rbp + 0x10]
call fcn.1401fd77e
int3