Function at 0x14005f1c0
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 8], rbx
xchg rdx, rsi
mov qword [rsp + 0x18], rdx
xchg rdx, rsi
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
xchg rcx, r10
mov rbx, r10
xchg r10, rcx
xor r12d, r12d
xchg rdx, r12
mov qword [rsp + 0x50], rdx
xchg rdx, r12
mov dword [rsp + 0x58], r12d
xor r8d, r8d
lea rdx, [rsp + 0x50]
call fcn.14005fb10
test al, al
je 0x14005f62b
mov r15d, dword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
cmp dword [rbx + 0x24], 5
jne 0x14005f68f
cmp rsi, 0xffffffffffffffff
je 0x14005f68f
bt r15d, 8
jae 0x14005f68f
lea rdx, [rbp - 0x50]
xchg rcx, r12
mov r12, rbx
xchg r12, rcx
call fcn.14005c6b0
nop
mov rdi, qword [rbx + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0xd28d6c1
xor qword [rsp + 0x60], 0x235b4058
add qword [rsp + 0x60], 0x4770592f
xor qword [rsp + 0x60], 0x98da2a4
xor qword [rsp + 0x60], 0x60212b08
sub qword [rsp + 0x60], 0x1c4f665e
mov qword [rsp + 0x68], 0x3be1c7e3
xor qword [rsp + 0x68], 0xc71d56f
xor qword [rsp + 0x68], 0x1fcd24cd
add qword [rsp + 0x68], 0x1c272ea9
sub qword [rsp + 0x68], 0x19986702
add qword [rsp + 0x68], 0x2640f910
add qword [rsp + 0x68], 0x25bef929
sub qword [rsp + 0x68], 0x2ada97ce
sub qword [rsp + 0x68], 0x4c115844
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.1400535d0
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], 0x1a5705c0
add qword [rbp - 0x80], 0x570c62bb
sub qword [rbp - 0x80], 0x20fc8d0c
xor qword [rbp - 0x80], 0x171dcbb9
xor qword [rbp - 0x80], 0x68b5c0c5
sub qword [rbp - 0x80], 0x21e23ac2
sub qword [rbp - 0x80], 0xdec9511
mov qword [rbp - 0x78], 0x65a1b16e
sub qword [rbp - 0x78], 0x3fdc9f99
sub qword [rbp - 0x78], 0x1591105b
xor qword [rbp - 0x78], 0x1e04cd41
xor qword [rbp - 0x78], 0x190792c
xor qword [rbp - 0x78], 0x28cfed7c
sub qword [rbp - 0x78], 0x276f581c
movaps xmm0, xmmword [0x140001b60]
xchg r8, rax
movups xmmword [r8], xmm0
xchg r8, rax
movaps xmm1, xmmword [0x140001b70]
xchg rbp, rax
movups xmmword [rbp + 0x10], xmm1
xchg rbp, rax
movaps xmm0, xmmword [0x140001b80]
xchg r13, rax
movups xmmword [r13 + 0x20], xmm0
xchg r13, rax
movaps xmm1, xmmword [0x140001b90]
xchg r9, rax
movups xmmword [r9 + 0x30], xmm1
xchg r9, rax
mov byte [rax + 0x40], r12b
lea rax, [rsp + 0x50]
xchg r15, rax
mov qword [rsp + 0x20], r15
xchg r15, rax
lea r9, [rsp + 0x70]
mov r8d, dword [rbx + 0x24]
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140055450
nop
xchg rbx, r12
mov qword [rsp + 0x20], rbx
xchg rbx, r12
mov r9, rax
xchg rbp, r8
mov rbp, qword [rbx + 0x18]
xchg r8, rbp
lea edx, [r12 + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140038dd0
nop
mov byte [rdi + 0x28], 0x77
sub byte [rdi + 0x28], 0x32
add byte [rdi + 0x28], 0x33
sub byte [rdi + 0x28], 0x3c
add byte [rdi + 0x28], 0x15
sub byte [rdi + 0x28], 0x50
cmp byte [rdi + 0x29], r12b
jne 0x14005faf3
lea rbx, [0x140004a88]
xchg rbx, rsi
mov qword [rbp - 0x10], rsi
xchg rbx, rsi
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov qword [rbp - 0x30], rbx
lea rcx, [rbp - 0x28]
call sub.VCRUNTIME140.dll___std_exception_destroy
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x14005f4c8
inc rdx
mov rcx, qword [rbp - 0x70]
xchg rcx, rdi
mov rax, rdi
xchg rcx, rdi
cmp rdx, 0x1000
jb 0x14005f4c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005f4c3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd08c
movdqa xmm0, xmmword [0x140002c80]
xchg rbp, r14
movdqu xmmword [r14 - 0x60], xmm0
xchg r14, rbp
mov byte [rbp - 0x70], 0
add byte [rbp - 0x70], 0x3b
add byte [rbp - 0x70], 0x28
sub byte [rbp - 0x70], 0x12
xor byte [rbp - 0x70], 0x1b
xor byte [rbp - 0x70], 0x69
sub byte [rbp - 0x70], 0x23
xchg rbx, rdx
mov rbx, qword [rbp - 0x78]
xchg rdx, rbx
cmp rdx, 0x10
jb 0x14005f55b
inc rdx
mov rcx, qword [rsp + 0x70]
xchg rcx, rsi
mov rax, rsi
xchg rsi, rcx
cmp rdx, 0x1000
jb 0x14005f555
nop
sub rdx, 0x7b7a0a37
add rdx, 0x7b7a0a5e
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005f555
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd08c
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14005f5c3
inc rdx
xchg rbp, rcx
mov rbp, qword [rsp + 0x50]
xchg rcx, rbp
xchg r9, rax
mov r9, rcx
xchg r9, rax
cmp rdx, 0x1000
jb 0x14005f5bd
nop
sub rdx, 0x4c1e7e97
add rdx, 0x4c1e7ebe
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14005f5bd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd08c
nop
xchg r13, rdx
mov r13, qword [rbp - 0x38]
xchg rdx, r13
cmp rdx, 0x10
jb 0x14005f62b
inc rdx
mov rcx, qword [rbp - 0x50]
xchg rbp, rax
mov rbp, rcx
xchg rbp, rax
cmp rdx, 0x1000
jb 0x14005f626
nop
add rdx, 0x4f37848
sub rdx, 0x4f37821
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffff80062fb3
add rax, 0xffffffff80062fab
cmp rax, 0x1f
jbe 0x14005f626
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd08c
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
add rsp, 8
xchg qword [rsp - 8], r14
push rbx
push rbx
push rdx
push rcx
push rdx
xchg qword [rsp + 0x28], r12
pop rdx
pop rcx
pop rdx
pop rbx
pop rbx
add rsp, 8
push rbx
push rcx
push rax
push rax
push rax
push rax
push rax
xchg qword [rsp + 0x38], rdi
pop rax
pop rax
pop rax
pop rax
pop rax
pop rcx
pop rbx
add rsp, 8
nop
mov rbp, qword [rsp]
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], 0x3aed7fc8
xor qword [rsp + 0x48], 0x738fcc6
xor qword [rsp + 0x48], 0x36cd1c07
add qword [rsp + 0x48], 0x64ee1a37
xor qword [rsp + 0x48], 0xbbb179a
xor qword [rsp + 0x48], 0x69c191bd
sub qword [rsp + 0x48], 0x127c3f58
mov byte [rsp + 0x30], r12b
xchg r12, rdi
mov r12, qword [rbx + 0x28]
xchg rdi, r12
mov rcx, rdi
cmp rsi, 0xffffffffffffffff
je 0x14005f938
xchg rsi, rdx
mov rsi, rdx
xchg rdx, rsi
call fcn.1400704e0
test al, al
je 0x14005fadf
xchg r14, r11
mov r11, r12
xchg r11, r14
test r15d, r15d
je 0x14005f84f
test rsi, rsi
je 0x14005f7d5
nop
mov r8b, 0x38
sub r8b, 0xc
xor r8b, 0x58
sub r8b, 0xd
sub r8b, 0x62
add r8b, 0x63
sub r8b, 0x67
lea rdx, [rsp + 0x30]
xchg rcx, rdx
mov rdx, rbx
xchg rdx, rcx
call fcn.140063b80
test al, al
je 0x14005fadf
mov rdi, qword [rbx + 0x28]
xchg r13, rax
mov r13, qword [rdi + 0x10]
xchg r13, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14004e350
mov qword [rdi + 0x20], rax
mov edx, r15d
xchg rbx, r11
mov rcx, r11
xchg rbx, r11
call fcn.140064b00
test al, al
je 0x14005fadf
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg r12, r10
mov qword [rsp + 0x40], r10
xchg r10, r12
mov byte [rax], 4
add byte [rax], 0x26
add byte [rax], 0x1d
add byte [rax], 0x1d
sub byte [rax], 0x58
sub byte [rax], 0xc
inc r14
cmp r14, rsi
jb 0x14005f72a
xchg rsi, rax
mov rsi, qword [rbx + 0x28]
xchg rsi, rax
add qword [rax + 0x10], 0xfffffffffffffff8
mov bl, 0x38
sub bl, 0x22
xor bl, 0x42
xor bl, 0x5f
xor bl, 1
add bl, 0x26
xor bl, 0x48
sub bl, 0x44
xor bl, 0x35
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14005faeb
inc rdx
xchg rcx, rdi
mov rdi, qword [rsp + 0x30]
xchg rcx, rdi
xchg rcx, r12
mov rax, r12
xchg rcx, r12
cmp rdx, 0x1000
jb 0x14005fae6
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005fae6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test rsi, rsi
je 0x14005f7d5
nop dword [rax]
nop word [rax + rax]
mov r8b, 0x31
add r8b, 0x31
sub r8b, 0x5f
xor r8b, 5
add r8b, 0x2c
xor r8b, 0x36
sub r8b, 3
lea rdx, [rsp + 0x30]
xchg rbx, r10
mov rcx, r10
xchg rbx, r10
call fcn.140063b80
test al, al
je 0x14005fadf
xchg rdi, r12
mov r12, qword [rbx + 0x28]
xchg r12, rdi
xchg r12, rax
mov r12, qword [rdi + 0x10]
xchg r12, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14004e350
xchg rbp, rax
mov qword [rdi + 0x20], rbp
xchg rbp, rax
mov dl, 0x15
add dl, 2
add dl, 0x59
xor dl, 0xc
add dl, 2
xor dl, 0x11
sub dl, 0x3a
sub dl, 0x17
sub dl, 0x1d
xchg rbx, r11
mov rcx, r11
xchg r11, rbx
call fcn.14006c1e0
test al, al
je 0x14005fadf
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg r13, r12
mov qword [rsp + 0x40], r13
xchg r12, r13
mov byte [rax], 0x1f
sub byte [rax], 0x16
xor byte [rax], 0x6a
add byte [rax], 0x11
xor byte [rax], 0x1a
sub byte [rax], 0x6e
inc r14
cmp r14, rsi
jb 0x14005f867
jmp 0x14005f7d5
mov byte [rbp + 0x88], 0x52
xor byte [rbp + 0x88], 0x7d
sub byte [rbp + 0x88], 0x2c
add byte [rbp + 0x88], 0x21
add byte [rbp + 0x88], 0x12
xor byte [rbp + 0x88], 0x1f
add byte [rbp + 0x88], 0x17
add byte [rbp + 0x88], 0x1b
xor byte [rbp + 0x88], 0x5a
lea rdx, [rbp + 0x88]
call fcn.140048320
xchg r10, rax
mov qword [rbp + 0x88], r10
xchg r10, rax
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi + 0x18]
je 0x14005f9ad
xchg r15, rax
mov qword [rdx], r15
xchg r15, rax
sub qword [rdi + 0x10], 0xfffffffffffffff8
jmp 0x14005f9bd
lea r8, [rbp + 0x88]
lea rcx, [rdi + 8]
call fcn.1400330e0
cmp dword [rbx + 0x10], 0x7d
je 0x14005f7d5
nop word [rax + rax]
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140063b80
test al, al
je 0x14005fadf
xchg rdi, r13
mov r13, qword [rbx + 0x28]
xchg r13, rdi
mov rax, qword [rdi + 0x10]
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14004e350
mov qword [rdi + 0x20], rax
mov dl, 0x3f
sub dl, 6
add dl, 0x30
xor dl, 0x14
sub dl, 0x5c
add dl, 0xd
add dl, 0x12
xor dl, 0x41
xchg rsi, rcx
mov rsi, rbx
xchg rsi, rcx
call fcn.14006c1e0
test al, al
je 0x14005fadf
inc qword [rbx + 0x18]
xchg r12, rax
mov r12, qword [rbx]
xchg r12, rax
cmp rax, qword [rbx + 8]
je 0x14005fa69
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x4e
je 0x14005fa3a
jmp 0x14005faa8
mov dword [rbx + 0x10], 0x428eb351
xor dword [rbx + 0x10], 0x526b0b4f
xor dword [rbx + 0x10], 0x37a5f318
xor dword [rbx + 0x10], 0x1a2fa8e3
sub dword [rbx + 0x10], 0x13fcf650
sub dword [rbx + 0x10], 0xa3118c1
add dword [rbx + 0x10], 0x5bdb799c
sub dword [rbx + 0x10], 0x493c07f1
xor dword [rbx + 0x10], 0xce1eb980
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], r12
mov byte [rax], 0x60
xor byte [rax], 0x21
sub byte [rax], 0xd
add byte [rax], 0x1f
sub byte [rax], 8
sub byte [rax], 0x4b
cmp dword [rbx + 0x10], 0x7d
jne 0x14005f9d1
jmp 0x14005f7d5
xor bl, bl
jmp 0x14005f7fc
call fcn.1401fd08c
movzx eax, bl
jmp 0x14005f62d
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14004bfd0
lea rdx, [0x1402158b0]
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll__CxxThrowException
int3