Function at 0x14005f1b0
Capabilities:
Authenticate hmac

Disassembly:
xchg rbx, r11
mov qword [rsp + 8], r11
xchg r11, rbx
xchg rsi, r8
mov qword [rsp + 0x18], r8
xchg rsi, r8
nop
sub rsp, 8
mov qword [rsp], rbp
push rdi
push r12
push rdx
mov qword [rsp], r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rbx, rcx
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 0x14005f61e
mov r15d, dword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
cmp dword [rbx + 0x24], 5
jne 0x14005f66c
cmp rsi, 0xffffffffffffffff
je 0x14005f66c
bt r15d, 8
jae 0x14005f66c
lea rdx, [rbp - 0x50]
xchg r8, rbx
mov rcx, r8
xchg r8, rbx
call fcn.14005c6c0
nop
xchg rbp, rdi
mov rbp, qword [rbx + 0x28]
xchg rbp, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0x7faf6032
xor qword [rsp + 0x60], 0x6b6e3d23
add qword [rsp + 0x60], 0x55f034a2
sub qword [rsp + 0x60], 0x5c3276be
add qword [rsp + 0x60], 0x6383143f
sub qword [rsp + 0x60], 0x1370f5b0
sub qword [rsp + 0x60], 0x39dbf86e
xor qword [rsp + 0x60], 0x4b0a82cc
sub qword [rsp + 0x60], 0x6fbfc3d4
mov qword [rsp + 0x68], 0x100f83fc
xor qword [rsp + 0x68], 0x1a3cc14d
xor qword [rsp + 0x68], 0x72e06f09
xor qword [rsp + 0x68], 0x70631549
xor qword [rsp + 0x68], 0x2e9eb7f2
add qword [rsp + 0x68], 0x2568eec3
xor qword [rsp + 0x68], 0x6b43614c
add qword [rsp + 0x68], 0x55cf203
sub qword [rsp + 0x68], 0x26310e7e
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.1400536a0
xchg r13, rax
mov qword [rsp + 0x70], r13
xchg r13, rax
mov qword [rbp - 0x80], 0x4faa6064
xor qword [rbp - 0x80], 0x21bceb22
sub qword [rbp - 0x80], 0x22fc83e
sub qword [rbp - 0x80], 0x667887a8
xor qword [rbp - 0x80], 0x448843b1
sub qword [rbp - 0x80], 0x3d83bb11
xor qword [rbp - 0x80], 0x462bd80
mov qword [rbp - 0x78], 0x4ad20f49
add qword [rbp - 0x78], 0x1c714d73
sub qword [rbp - 0x78], 0x25e7d843
add qword [rbp - 0x78], 0x16b9a658
sub qword [rbp - 0x78], 0x1139750b
add qword [rbp - 0x78], 0xc4cb65
xor qword [rbp - 0x78], 0x47a08164
movaps xmm0, xmmword [0x140001b60]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x140001b70]
xchg r15, rax
movups xmmword [r15 + 0x10], xmm1
xchg r15, rax
movaps xmm0, xmmword [0x140001b80]
xchg r12, rax
movups xmmword [r12 + 0x20], xmm0
xchg r12, 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]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
mov r8d, dword [rbx + 0x24]
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140055580
nop
mov qword [rsp + 0x20], r12
xchg rcx, rax
mov r9, rcx
xchg rcx, rax
mov r8, qword [rbx + 0x18]
lea edx, [r12 + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140038c10
nop
mov byte [rdi + 0x28], 0x18
add byte [rdi + 0x28], 0x30
sub byte [rdi + 0x28], 0x1c
add byte [rdi + 0x28], 9
sub byte [rdi + 0x28], 0x13
xor byte [rdi + 0x28], 0x6d
sub byte [rdi + 0x28], 0x4e
cmp byte [rdi + 0x29], r12b
jne 0x14005fae8
lea rbx, [0x140004a88]
mov qword [rbp - 0x10], rbx
lea rcx, [rbp - 8]
call fcn.1401fe5f8
xchg rbx, r8
mov qword [rbp - 0x30], r8
xchg r8, rbx
lea rcx, [rbp - 0x28]
call fcn.1401fe5f8
nop
xchg rdx, r12
mov r12, qword [rbp - 0x58]
xchg r12, rdx
cmp rdx, 0x10
jb 0x14005f4c4
inc rdx
mov rcx, qword [rbp - 0x70]
xchg r8, rcx
mov rax, r8
xchg rcx, r8
cmp rdx, 0x1000
jb 0x14005f4bf
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005f4bf
call fcn.14082a6de
int3
call fcn.1401fd590
movdqa xmm0, xmmword [0x140002c80]
xchg rbp, r8
movdqu xmmword [r8 - 0x60], xmm0
xchg rbp, r8
mov byte [rbp - 0x70], 0x17
add byte [rbp - 0x70], 0x40
xor byte [rbp - 0x70], 0x3a
sub byte [rbp - 0x70], 0x16
add byte [rbp - 0x70], 0x11
xor byte [rbp - 0x70], 0x68
xchg rdx, rbx
mov rbx, qword [rbp - 0x78]
xchg rdx, rbx
cmp rdx, 0x10
jb 0x14005f560
inc rdx
xchg rcx, r12
mov r12, qword [rsp + 0x70]
xchg r12, rcx
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14005f55a
nop
add rdx, 0x4137afb9
sub rdx, 0x4137af92
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffffddf9be58
add rax, 0xffffffffddf9be50
cmp rax, 0x1f
jbe 0x14005f55a
push rbx
call fcn.140d1ccb5
int3
call fcn.1401fd590
nop
xchg rdx, rbp
mov rbp, qword [rsp + 0x68]
xchg rdx, rbp
cmp rdx, 0x10
jb 0x14005f5bf
inc rdx
mov rcx, qword [rsp + 0x50]
xchg rcx, r8
mov rax, r8
xchg rcx, r8
cmp rdx, 0x1000
jb 0x14005f5b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14005f5b9
push rsi
call fcn.140ae2292
int3
call fcn.1401fd590
nop
xchg rdx, rdi
mov rdi, qword [rbp - 0x38]
xchg rdi, rdx
cmp rdx, 0x10
jb 0x14005f61e
inc rdx
mov rcx, qword [rbp - 0x50]
xchg r15, rax
mov r15, rcx
xchg r15, rax
cmp rdx, 0x1000
jb 0x14005f619
nop
add rdx, 0x29b24c
sub rdx, 0x29b225
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f619
push rdx
call fcn.140909a33
int3
call fcn.1401fd590
xor al, al
lea r11, [rsp + 0x150]
xchg rdi, rbx
mov rdi, qword [r11 + 0x30]
xchg rdi, rbx
mov rsi, qword [r11 + 0x40]
mov rsp, r11
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xchg r12, r10
mov qword [rsp + 0x40], r10
xchg r12, r10
mov qword [rsp + 0x48], 0x3f5bb011
xor qword [rsp + 0x48], 0x1660ab31
xor qword [rsp + 0x48], 0x5fd6fb0c
xor qword [rsp + 0x48], 0x43497089
xor qword [rsp + 0x48], 0x83bcd7
sub qword [rsp + 0x48], 0x35272c63
mov byte [rsp + 0x30], r12b
mov rdi, qword [rbx + 0x28]
xchg r11, rdi
mov rcx, r11
xchg rdi, r11
cmp rsi, 0xffffffffffffffff
je 0x14005f918
mov rdx, rsi
call fcn.1400706c0
test al, al
je 0x14005fad4
mov r14, r12
test r15d, r15d
je 0x14005f831
test rsi, rsi
je 0x14005f7a3
nop
mov r8b, 0x37
sub r8b, 0x17
add r8b, 0xa
xor r8b, 0x1f
xor r8b, 0x69
sub r8b, 0x59
add r8b, 0x15
xor r8b, 0x19
lea rdx, [rsp + 0x30]
xchg r12, rbx
mov rcx, r12
xchg rbx, r12
call fcn.140063b00
test al, al
je 0x14005fad4
xchg r13, rdi
mov r13, qword [rbx + 0x28]
xchg rdi, r13
mov rax, qword [rdi + 0x10]
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg r8, rcx
mov r8, qword [rax + 8]
xchg rcx, r8
call fcn.14004e460
mov qword [rdi + 0x20], rax
mov edx, r15d
mov rcx, rbx
call fcn.140064ae0
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], 0x2b
add byte [rax], 0x34
xor byte [rax], 0x7a
sub byte [rax], 4
xor byte [rax], 0x3a
sub byte [rax], 0x1b
inc r14
cmp r14, rsi
jb 0x14005f6f8
xchg r14, rax
mov r14, qword [rbx + 0x28]
xchg r14, rax
neg qword [rax + 0x10]
add qword [rax + 0x10], 8
neg qword [rax + 0x10]
mov bl, 0x36
sub bl, 5
add bl, 0x42
sub bl, 0x32
xor bl, 0x4b
xor bl, 1
xor bl, 0x1f
xor bl, 0x15
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14005fae0
inc rdx
xchg rcx, r11
mov r11, qword [rsp + 0x30]
xchg r11, rcx
xchg rdi, rax
mov rdi, rcx
xchg rdi, rax
cmp rdx, 0x1000
jb 0x14005fadb
nop
sub rdx, 0x27606b7a
add rdx, 0x27606ba1
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14005fadb
call fcn.140887703
int3
test rsi, rsi
je 0x14005f7a3
nop dword [rax]
nop word [rax + rax]
mov r8b, 0x70
sub r8b, 0x5c
sub r8b, 0x14
add r8b, 0x4f
xor r8b, 0x5e
add r8b, 0x2f
add r8b, 0x2f
sub r8b, 0x2b
xor r8b, 0x45
lea rdx, [rsp + 0x30]
xchg rdi, rcx
mov rdi, rbx
xchg rdi, rcx
call fcn.140063b00
test al, al
je 0x14005fad4
xchg rdi, rcx
mov rcx, qword [rbx + 0x28]
xchg rdi, rcx
xchg rdx, rax
mov rdx, qword [rdi + 0x10]
xchg rdx, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg r14, rcx
mov r14, qword [rax + 8]
xchg rcx, r14
call fcn.14004e460
mov qword [rdi + 0x20], rax
mov dl, 0x1f
add dl, 0x5c
add dl, 2
sub dl, 0x7d
xor dl, 0x58
xor dl, 0x59
xchg rcx, rsi
mov rsi, rbx
xchg rsi, rcx
call fcn.14006c330
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], 0x66
xor byte [rax], 0x7e
sub byte [rax], 5
xor byte [rax], 0x1d
add byte [rax], 0x39
add byte [rax], 0xf
sub byte [rax], 0x56
inc r14
cmp r14, rsi
jb 0x14005f849
jmp 0x14005f7a3
mov byte [rbp + 0x88], 0x68
sub byte [rbp + 0x88], 0x4a
add byte [rbp + 0x88], 0
add byte [rbp + 0x88], 0x27
sub byte [rbp + 0x88], 0x2c
sub byte [rbp + 0x88], 0x18
add byte [rbp + 0x88], 0x11
sub byte [rbp + 0x88], 0x11
lea rdx, [rbp + 0x88]
call fcn.140048440
xchg rdx, rax
mov qword [rbp + 0x88], rdx
xchg rdx, rax
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi + 0x18]
je 0x14005f98e
mov qword [rdx], rax
nop
add qword [rdi + 0x10], 0x5d597e01
sub qword [rdi + 0x10], 0x5d597df9
jmp 0x14005f99e
lea r8, [rbp + 0x88]
lea rcx, [rdi + 8]
call fcn.140033020
cmp dword [rbx + 0x10], 0x7d
je 0x14005f7a3
nop word [rax + rax]
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140063b00
test al, al
je 0x14005fad4
xchg r13, rdi
mov r13, qword [rbx + 0x28]
xchg rdi, r13
xchg r14, rax
mov r14, qword [rdi + 0x10]
xchg r14, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14004e460
mov qword [rdi + 0x20], rax
mov dl, 0x27
xor dl, 0x4d
sub dl, 0x19
add dl, 0x26
xor dl, 0x53
xor dl, 0x34
xor dl, 0x49
xor dl, 0x75
xor dl, 0x2d
mov rcx, rbx
call fcn.14006c330
test al, al
je 0x14005fad4
inc qword [rbx + 0x18]
xchg r13, rax
mov r13, qword [rbx]
xchg r13, rax
cmp rax, qword [rbx + 8]
je 0x14005fa4f
movzx ecx, byte [rax]
inc rax
xchg rsi, rax
mov qword [rbx], rsi
xchg rsi, rax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x4e
je 0x14005fa1c
jmp 0x14005fa8e
mov dword [rbx + 0x10], 0x12cab539
add dword [rbx + 0x10], 0x52c2f938
sub dword [rbx + 0x10], 0x2b85ff0c
add dword [rbx + 0x10], 0x914cc5a
sub dword [rbx + 0x10], 0x373d34ab
add dword [rbx + 0x10], 0x3ca9c1af
sub dword [rbx + 0x10], 0x318cfaf8
add dword [rbx + 0x10], 0x11ce2716
add dword [rbx + 0x10], 0xd735cb1e
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg r12, rdi
mov qword [rsp + 0x40], rdi
xchg r12, rdi
mov byte [rax], 0x3d
xor byte [rax], 0x18
add byte [rax], 0x45
sub byte [rax], 0x47
add byte [rax], 0x3c
xor byte [rax], 0xe
add byte [rax], 0x15
xor byte [rax], 0x5b
sub byte [rax], 0x3d
cmp dword [rbx + 0x10], 0x7d
jne 0x14005f9b2
jmp 0x14005f7a3
xor bl, bl
jmp 0x14005f7cf
call fcn.1401fd590
movzx eax, bl
jmp 0x14005f620
xchg rsi, rax
mov rdx, rsi
xchg rsi, rax
lea rcx, [rbp + 0x10]
call fcn.14004c040
lea rdx, [0x140215fb8]
lea rcx, [rbp + 0x10]
call fcn.1401fe5fe
int3