Function at 0x14005f4e0
Capabilities:
Authenticate hmac

Disassembly:
xchg r9, rbx
mov qword [rsp + 8], r9
xchg rbx, r9
mov qword [rsp + 0x18], rsi
push rbp
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rbx, rcx
xor r12d, r12d
xchg rbx, r12
mov qword [rsp + 0x50], rbx
xchg rbx, r12
mov dword [rsp + 0x58], r12d
xor r8d, r8d
lea rdx, [rsp + 0x50]
call fcn.14005fe50
test al, al
je 0x14005f945
mov r15d, dword [rsp + 0x58]
xchg rsi, rdi
mov rdi, qword [rsp + 0x50]
xchg rsi, rdi
cmp dword [rbx + 0x24], 5
jne 0x14005f99f
cmp rsi, 0xffffffffffffffff
je 0x14005f99f
bt r15d, 8
jae 0x14005f99f
lea rdx, [rbp - 0x50]
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.14005c9c0
nop
mov rdi, qword [rbx + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0x515043a0
add qword [rsp + 0x60], 0xc4b5dd9
xor qword [rsp + 0x60], 0x2b59fe62
add qword [rsp + 0x60], 0x30d078f
sub qword [rsp + 0x60], 0x6b009bee
add qword [rsp + 0x60], 0xf05a97b
sub qword [rsp + 0x60], 0x1dd47431
mov qword [rsp + 0x68], 0x3baf58ec
add qword [rsp + 0x68], 0x3215c001
add qword [rsp + 0x68], 0x4080224
sub qword [rsp + 0x68], 0xc5a8843
add qword [rsp + 0x68], 0x3084889
xor qword [rsp + 0x68], 0x148646b2
sub qword [rsp + 0x68], 0x51a588fa
add qword [rsp + 0x68], 0x3ec48dfd
sub qword [rsp + 0x68], 0x6a1ba2d9
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.140053920
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], 0x3b263823
sub qword [rbp - 0x80], 0x29dda3b3
xor qword [rbp - 0x80], 0x3377ce7d
add qword [rbp - 0x80], 0x29528650
add qword [rbp - 0x80], 0x1b73ae68
xor qword [rbp - 0x80], 0x7af04bd9
add qword [rbp - 0x80], 0x52449c40
sub qword [rbp - 0x80], 0x703a611c
mov qword [rbp - 0x78], 0x7a0c2876
sub qword [rbp - 0x78], 0x4fb7d9a3
xor qword [rbp - 0x78], 0x29f86296
xor qword [rbp - 0x78], 0x54a304c8
sub qword [rbp - 0x78], 0x18101ec5
add qword [rbp - 0x78], 0x143a7136
sub qword [rbp - 0x78], 0x53397aaf
movaps xmm0, xmmword [0x140001b60]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x140001b70]
xchg rdx, rax
movups xmmword [rdx + 0x10], xmm1
xchg rdx, rax
movaps xmm0, xmmword [0x140001b80]
xchg rbx, rax
movups xmmword [rbx + 0x20], xmm0
xchg rbx, rax
movaps xmm1, xmmword [0x140001b90]
xchg r15, rax
movups xmmword [r15 + 0x30], xmm1
xchg r15, rax
mov byte [rax + 0x40], r12b
lea rax, [rsp + 0x50]
xchg r9, rax
mov qword [rsp + 0x20], r9
xchg r9, rax
lea r9, [rsp + 0x70]
mov r8d, dword [rbx + 0x24]
lea rdx, [rbp - 0x70]
xchg rsi, rcx
mov rsi, rbx
xchg rsi, rcx
call fcn.140055820
nop
xchg r12, r9
mov qword [rsp + 0x20], r9
xchg r12, r9
xchg r9, rax
mov rax, r9
xchg r9, rax
mov r8, qword [rbx + 0x18]
lea edx, [r12 + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140038f80
nop
mov byte [rdi + 0x28], 0x5a
sub byte [rdi + 0x28], 0x14
xor byte [rdi + 0x28], 0x45
add byte [rdi + 0x28], 3
xor byte [rdi + 0x28], 0x76
sub byte [rdi + 0x28], 0x4b
sub byte [rdi + 0x28], 0x1b
add byte [rdi + 0x28], 0xf
sub byte [rdi + 0x28], 0x18
cmp byte [rdi + 0x29], r12b
jne 0x14005fe23
lea rbx, [0x140004a88]
mov qword [rbp - 0x10], rbx
lea rcx, [rbp - 8]
call fcn.1401fe1c8
xchg r10, rbx
mov qword [rbp - 0x30], r10
xchg rbx, r10
lea rcx, [rbp - 0x28]
call fcn.1401fe1c8
nop
xchg rdx, r14
mov r14, qword [rbp - 0x58]
xchg rdx, r14
cmp rdx, 0x10
jb 0x14005f803
inc rdx
mov rcx, qword [rbp - 0x70]
xchg r10, rax
mov r10, rcx
xchg r10, rax
cmp rdx, 0x1000
jb 0x14005f7fe
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14005f7fe
push rsi
call fcn.140b9b5ca
int3
call fcn.1401fd160
movdqa xmm0, xmmword [0x140002c80]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0x12
add byte [rbp - 0x70], 0x46
xor byte [rbp - 0x70], 0x14
xor byte [rbp - 0x70], 0x5c
add byte [rbp - 0x70], 0x68
add byte [rbp - 0x70], 1
sub byte [rbp - 0x70], 0x79
xchg rdx, rdi
mov rdi, qword [rbp - 0x78]
xchg rdx, rdi
cmp rdx, 0x10
jb 0x14005f88e
inc rdx
xchg rcx, r11
mov r11, qword [rsp + 0x70]
xchg r11, rcx
xchg r15, rax
mov r15, rcx
xchg r15, rax
cmp rdx, 0x1000
jb 0x14005f888
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14005f888
call fcn.14056d378
int3
call fcn.1401fd160
nop
xchg r8, rdx
mov r8, qword [rsp + 0x68]
xchg rdx, r8
cmp rdx, 0x10
jb 0x14005f8e7
inc rdx
xchg rcx, rbx
mov rbx, qword [rsp + 0x50]
xchg rbx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f8e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f8e1
call fcn.14037b429
int3
call fcn.1401fd160
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14005f945
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f940
nop
add rdx, 0x44254276
sub rdx, 0x4425424f
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffffa4825bdf
sub rax, 0xffffffffa4825be7
cmp rax, 0x1f
jbe 0x14005f940
push rax
call fcn.140d81b48
int3
call fcn.1401fd160
xor al, al
lea r11, [rsp + 0x150]
xchg rdx, rbx
mov rdx, qword [r11 + 0x30]
xchg rdx, rbx
mov rsi, qword [r11 + 0x40]
mov rsp, r11
nop
mov r15, qword [rsp]
add rsp, 8
nop
mov r14, qword [rsp]
add rsp, 8
push rbx
xchg qword [rsp + 8], r12
add rsp, 0x10
push rax
push rax
xchg qword [rsp + 0x10], rdi
pop rax
pop rax
add rsp, 8
push rbx
push rbx
xchg qword [rsp + 0x10], rbp
pop rbx
pop rbx
add rsp, 8
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], 0x62faa12c
xor qword [rsp + 0x48], 0x8ede43b
sub qword [rsp + 0x48], 0x35d703d3
sub qword [rsp + 0x48], 0x31f5753f
xor qword [rsp + 0x48], 0x41ba3a04
sub qword [rsp + 0x48], 0x3c64b673
add qword [rsp + 0x48], 0x48eae6e2
xor qword [rsp + 0x48], 0x42e59ba7
sub qword [rsp + 0x48], 0x1292bdc8
mov byte [rsp + 0x30], r12b
mov rdi, qword [rbx + 0x28]
mov rcx, rdi
cmp rsi, 0xffffffffffffffff
je 0x14005fc6a
xchg r10, rsi
mov rdx, r10
xchg r10, rsi
call fcn.1400708f0
test al, al
je 0x14005fe0f
xchg r11, r12
mov r14, r11
xchg r12, r11
test r15d, r15d
je 0x14005fb87
test rsi, rsi
je 0x14005fb02
nop
mov r8b, 0x4d
xor r8b, 0x48
xor r8b, 0x71
sub r8b, 0x2b
sub r8b, 0x24
add r8b, 0
xor r8b, 0x3f
xor r8b, 0x1b
lea rdx, [rsp + 0x30]
xchg rbx, r9
mov rcx, r9
xchg rbx, r9
call fcn.140063dc0
test al, al
je 0x14005fe0f
mov rdi, qword [rbx + 0x28]
xchg r14, rax
mov r14, qword [rdi + 0x10]
xchg r14, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg r8, rcx
mov r8, qword [rax + 8]
xchg r8, rcx
call fcn.14004e690
xchg rdx, rax
mov qword [rdi + 0x20], rdx
xchg rdx, rax
mov edx, r15d
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.140064da0
test al, al
je 0x14005fe0f
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg r12, rcx
mov qword [rsp + 0x40], rcx
xchg r12, rcx
mov byte [rax], 1
add byte [rax], 0x75
sub byte [rax], 0x5b
xor byte [rax], 0x14
add byte [rax], 0x41
sub byte [rax], 0x3d
xor byte [rax], 0x13
inc r14
cmp r14, rsi
jb 0x14005fa46
mov rax, qword [rbx + 0x28]
neg qword [rax + 0x10]
add qword [rax + 0x10], 8
neg qword [rax + 0x10]
mov bl, 8
add bl, 2
add bl, 2
xor bl, 0x41
sub bl, 0x42
xor bl, 0x36
xor bl, 0x3c
xchg r13, rdx
mov r13, qword [rsp + 0x48]
xchg r13, rdx
cmp rdx, 0x10
jb 0x14005fe1b
inc rdx
mov rcx, qword [rsp + 0x30]
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14005fe16
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffffb7779dbd
sub rax, 0xffffffffb7779dc5
cmp rax, 0x1f
jbe 0x14005fe16
push rbp
call fcn.140cf3c57
nop
test rsi, rsi
je 0x14005fb02
nop dword [rax]
nop word [rax + rax]
mov r8b, 0x15
add r8b, 0x62
xor r8b, 0x5c
add r8b, 0xe
xor r8b, 4
add r8b, 0x37
xor r8b, 0x75
lea rdx, [rsp + 0x30]
xchg rcx, r9
mov r9, rbx
xchg r9, rcx
call fcn.140063dc0
test al, al
je 0x14005fe0f
mov rdi, qword [rbx + 0x28]
xchg r10, rax
mov r10, qword [rdi + 0x10]
xchg r10, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14004e690
xchg r15, rax
mov qword [rdi + 0x20], r15
xchg r15, rax
mov dl, 0xf
add dl, 0x6c
xor dl, 0x3f
sub dl, 0x28
add dl, 0x29
xor dl, 0x6b
xor dl, 0x2f
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.14006c4e0
test al, al
je 0x14005fe0f
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg rcx, r12
mov qword [rsp + 0x40], rcx
xchg rcx, r12
mov byte [rax], 0x19
add byte [rax], 0x63
sub byte [rax], 0x13
xor byte [rax], 0x5b
add byte [rax], 0x23
add byte [rax], 0x21
xor byte [rax], 0x3c
sub byte [rax], 0x4a
inc r14
cmp r14, rsi
jb 0x14005fb9f
jmp 0x14005fb02
mov byte [rbp + 0x88], 0x3a
xor byte [rbp + 0x88], 0x61
sub byte [rbp + 0x88], 0x5a
add byte [rbp + 0x88], 0x6b
add byte [rbp + 0x88], 0
add byte [rbp + 0x88], 0x11
sub byte [rbp + 0x88], 0x40
xor byte [rbp + 0x88], 0x35
sub byte [rbp + 0x88], 7
lea rdx, [rbp + 0x88]
call fcn.1400485f0
mov qword [rbp + 0x88], rax
xchg r10, rdx
mov r10, qword [rdi + 0x10]
xchg rdx, r10
cmp rdx, qword [rdi + 0x18]
je 0x14005fce9
xchg r15, rax
mov qword [rdx], r15
xchg r15, rax
neg qword [rdi + 0x10]
add qword [rdi + 0x10], 0xfffffffffffffff8
neg qword [rdi + 0x10]
jmp 0x14005fcf9
lea r8, [rbp + 0x88]
lea rcx, [rdi + 8]
call fcn.1400331b0
cmp dword [rbx + 0x10], 0x7d
je 0x14005fb02
nop word [rax + rax]
xor r8d, r8d
lea rdx, [rsp + 0x30]
xchg rcx, rbp
mov rbp, rbx
xchg rcx, rbp
call fcn.140063dc0
test al, al
je 0x14005fe0f
mov rdi, qword [rbx + 0x28]
xchg r9, rax
mov r9, qword [rdi + 0x10]
xchg r9, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg r10, rcx
mov r10, qword [rax + 8]
xchg rcx, r10
call fcn.14004e690
mov qword [rdi + 0x20], rax
mov dl, 0x3e
xor dl, 0x14
add dl, 8
add dl, 0x17
xor dl, 0x40
add dl, 0x26
sub dl, 0x2e
xchg r12, rcx
mov r12, rbx
xchg r12, rcx
call fcn.14006c4e0
test al, al
je 0x14005fe0f
inc qword [rbx + 0x18]
mov rax, qword [rbx]
cmp rax, qword [rbx + 8]
je 0x14005fda8
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x4e
je 0x14005fd7d
jmp 0x14005fdd2
mov dword [rbx + 0x10], 0x50af8f70
sub dword [rbx + 0x10], 0x3487c471
add dword [rbx + 0x10], 0x5f4c5f67
sub dword [rbx + 0x10], 0x374fba89
sub dword [rbx + 0x10], 0x27fbcc8b
add dword [rbx + 0x10], 0xe3d75cad
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], r12
mov byte [rax], 0x64
sub byte [rax], 0x26
add byte [rax], 0x1f
add byte [rax], 0x1f
sub byte [rax], 0x65
xor byte [rax], 0xb
add byte [rax], 0x5f
sub byte [rax], 0x7b
cmp dword [rbx + 0x10], 0x7d
jne 0x14005fd0d
jmp 0x14005fb02
xor bl, bl
jmp 0x14005fb27
call fcn.1401fd160
movzx eax, bl
jmp 0x14005f947
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14004c210
lea rdx, [0x140215ae8]
lea rcx, [rbp + 0x10]
call fcn.1401fe1ce
int3