Function at 0x14005f2e0
Capabilities:
Authenticate hmac

Disassembly:
xchg rbx, rsi
mov qword [rsp + 8], rsi
xchg rbx, rsi
xchg rdx, rsi
mov qword [rsp + 0x18], rdx
xchg rdx, rsi
push rbp
nop
sub rsp, 8
mov qword [rsp], rdi
push 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, rcx
mov rcx, rbx
xchg rcx, rbx
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x58], r12d
xor r8d, r8d
lea rdx, [rsp + 0x50]
call fcn.14005fc60
test al, al
je 0x14005f74f
mov r15d, dword [rsp + 0x58]
xchg rsi, r8
mov r8, qword [rsp + 0x50]
xchg rsi, r8
cmp dword [rbx + 0x24], 5
jne 0x14005f7bb
cmp rsi, 0xffffffffffffffff
je 0x14005f7bb
bt r15d, 8
jae 0x14005f7bb
lea rdx, [rbp - 0x50]
xchg rbx, r13
mov rcx, r13
xchg r13, rbx
call fcn.14005c830
nop
mov rdi, qword [rbx + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0x4906853d
add qword [rsp + 0x60], 0xe5f0042
sub qword [rsp + 0x60], 0x184fe529
xor qword [rsp + 0x60], 0x297c903a
xor qword [rsp + 0x60], 0x2c6637e8
sub qword [rsp + 0x60], 0x5c46fdf
xor qword [rsp + 0x60], 0x793f73d9
add qword [rsp + 0x60], 0x2e1a519e
sub qword [rsp + 0x60], 0x7b903614
mov qword [rsp + 0x68], 0x2bcb5bb8
xor qword [rsp + 0x68], 0xf75496f
add qword [rsp + 0x68], 0x2cd746cb
add qword [rsp + 0x68], 0x1f4cafd8
xor qword [rsp + 0x68], 0x63e288bd
add qword [rsp + 0x68], 0x3ec7fa9
add qword [rsp + 0x68], 0x3adec851
xor qword [rsp + 0x68], 0x51cbc9ce
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.1400537c0
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], 0x311aa533
add qword [rbp - 0x80], 0x4e61f7b3
sub qword [rbp - 0x80], 0x16ece893
sub qword [rbp - 0x80], 0x5dbd2130
sub qword [rbp - 0x80], 0x27ee951
add qword [rbp - 0x80], 0x157dcd16
xor qword [rbp - 0x80], 0x1dd176a8
mov qword [rbp - 0x78], 0x66e7b34e
sub qword [rbp - 0x78], 0x5ad25275
xor qword [rbp - 0x78], 0x249db0a2
xor qword [rbp - 0x78], 0x1b3eb32
add qword [rbp - 0x78], 0x37c7cb06
sub qword [rbp - 0x78], 0x61030600
movaps xmm0, xmmword [0x140001b60]
xchg r13, rax
movups xmmword [r13], xmm0
xchg r13, rax
movaps xmm1, xmmword [0x140001b70]
xchg r12, rax
movups xmmword [r12 + 0x10], xmm1
xchg r12, rax
movaps xmm0, xmmword [0x140001b80]
xchg rsi, rax
movups xmmword [rsi + 0x20], xmm0
xchg rsi, rax
movaps xmm1, xmmword [0x140001b90]
xchg rdx, rax
movups xmmword [rdx + 0x30], xmm1
xchg rdx, 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]
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.140055670
nop
xchg r10, r12
mov qword [rsp + 0x20], r10
xchg r10, r12
xchg r9, rax
mov rax, r9
xchg r9, rax
xchg r8, r12
mov r12, qword [rbx + 0x18]
xchg r8, r12
lea edx, [r12 + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140038c80
nop
mov byte [rdi + 0x28], 0x7b
sub byte [rdi + 0x28], 0x1c
sub byte [rdi + 0x28], 0x1b
sub byte [rdi + 0x28], 0xc
add byte [rdi + 0x28], 0x2d
sub byte [rdi + 0x28], 0x4c
add byte [rdi + 0x28], 0x1c
add byte [rdi + 0x28], 0x3b
xor byte [rdi + 0x28], 0x71
cmp byte [rdi + 0x29], r12b
jne 0x14005fc39
lea rbx, [0x140004a88]
mov qword [rbp - 0x10], rbx
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
xchg rdx, r10
mov r10, qword [rbp - 0x58]
xchg rdx, r10
cmp rdx, 0x10
jb 0x14005f618
inc rdx
xchg r11, rcx
mov r11, qword [rbp - 0x70]
xchg rcx, r11
xchg r13, rax
mov r13, rcx
xchg r13, rax
cmp rdx, 0x1000
jb 0x14005f613
nop
sub rdx, 0x5d9793d0
add rdx, 0x5d9793f7
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f613
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
movdqa xmm0, xmmword [0x140002c80]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0x4e
sub byte [rbp - 0x70], 9
xor byte [rbp - 0x70], 0x5b
add byte [rbp - 0x70], 0x1c
add byte [rbp - 0x70], 0x20
add byte [rbp - 0x70], 0xe
add byte [rbp - 0x70], 0xf
sub byte [rbp - 0x70], 8
xor byte [rbp - 0x70], 0x6f
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14005f6a5
inc rdx
xchg rcx, rdx
mov rdx, qword [rsp + 0x70]
xchg rdx, rcx
xchg r14, rax
mov r14, rcx
xchg r14, rax
cmp rdx, 0x1000
jb 0x14005f69f
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005f69f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14005f6ff
inc rdx
mov rcx, qword [rsp + 0x50]
xchg rdi, rax
mov rdi, rcx
xchg rdi, rax
cmp rdx, 0x1000
jb 0x14005f6f9
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffffb8e5e4e1
add rax, 0xffffffffb8e5e4d9
cmp rax, 0x1f
jbe 0x14005f6f9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14005f74f
inc rdx
mov rcx, qword [rbp - 0x50]
xchg rcx, r13
mov rax, r13
xchg r13, rcx
cmp rdx, 0x1000
jb 0x14005f74a
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f74a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
xor al, al
lea r11, [rsp + 0x150]
xchg rbx, r8
mov r8, qword [r11 + 0x30]
xchg rbx, r8
mov rsi, qword [r11 + 0x40]
mov rsp, r11
nop
mov r15, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
push rcx
push rbx
push rbx
push rcx
push rbx
push rdx
push rbx
push rax
xchg qword [rsp + 0x40], r12
add rsp, 0x48
push rbx
push rbx
push rdx
push rbx
push rax
push rax
push rbx
push rdx
xchg qword [rsp + 0x40], rdi
pop rdx
pop rbx
pop rax
pop rax
pop rbx
pop rdx
pop rbx
pop rbx
add rsp, 8
push rcx
push rdx
push rcx
push rdx
push rdx
xchg qword [rsp + 0x28], rbp
pop rdx
pop rdx
pop rcx
pop rdx
pop rcx
add rsp, 8
ret
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0x6ed634f8
xor qword [rsp + 0x48], 0x4c0c9baf
sub qword [rsp + 0x48], 0x3187a61
add qword [rsp + 0x48], 0x14419876
add qword [rsp + 0x48], 0x5d5720b
sub qword [rsp + 0x48], 0x15ffb7c0
add qword [rsp + 0x48], 0x39049e4
sub qword [rsp + 0x48], 0x26a3f9c3
sub qword [rsp + 0x48], 0xc5d7c9
mov byte [rsp + 0x30], r12b
xchg rdi, rcx
mov rcx, qword [rbx + 0x28]
xchg rdi, rcx
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
cmp rsi, 0xffffffffffffffff
je 0x14005fa95
mov rdx, rsi
call fcn.140070850
test al, al
je 0x14005fc25
xchg r9, r12
mov r14, r9
xchg r9, r12
test r15d, r15d
je 0x14005f9ac
test rsi, rsi
je 0x14005f921
nop
mov r8b, 0x62
sub r8b, 0x17
add r8b, 0x11
sub r8b, 0x14
add r8b, 0x1c
sub r8b, 0x63
add r8b, 0xa
xor r8b, 0x15
sub r8b, 0x1d
lea rdx, [rsp + 0x30]
xchg rsi, rbx
mov rcx, rsi
xchg rsi, rbx
call fcn.140063cc0
test al, al
je 0x14005fc25
xchg rbp, rdi
mov rbp, qword [rbx + 0x28]
xchg rdi, rbp
mov rax, qword [rdi + 0x10]
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14004e460
xchg r8, rax
mov qword [rdi + 0x20], r8
xchg r8, rax
mov edx, r15d
xchg rbx, r12
mov rcx, r12
xchg r12, rbx
call fcn.140064c70
test al, al
je 0x14005fc25
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], r12
mov byte [rax], 0x58
sub byte [rax], 0x4f
xor byte [rax], 0x47
sub byte [rax], 0x33
xor byte [rax], 0x72
xor byte [rax], 0x5c
sub byte [rax], 0x1e
sub byte [rax], 0x17
inc r14
cmp r14, rsi
jb 0x14005f868
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, 0xf
xor bl, 0x1e
add bl, 0x54
xor bl, 0x39
sub bl, 0x16
add bl, 0x30
sub bl, 0x53
sub bl, 0x22
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14005fc31
inc rdx
mov rcx, qword [rsp + 0x30]
xchg r13, rax
mov r13, rcx
xchg r13, rax
cmp rdx, 0x1000
jb 0x14005fc2c
nop
sub rdx, 0x4a39f57d
add rdx, 0x4a39f5a4
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffffa5d9a4f4
sub rax, 0xffffffffa5d9a4fc
cmp rax, 0x1f
jbe 0x14005fc2c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test rsi, rsi
je 0x14005f921
nop dword [rax]
nop word [rax + rax]
mov r8b, 0x43
xor r8b, 0x6a
sub r8b, 0x14
add r8b, 0x25
sub r8b, 1
xor r8b, 0x18
xor r8b, 7
add r8b, 0x1c
sub r8b, 0x41
lea rdx, [rsp + 0x30]
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.140063cc0
test al, al
je 0x14005fc25
mov rdi, qword [rbx + 0x28]
mov rax, qword [rdi + 0x10]
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg rcx, r14
mov r14, qword [rax + 8]
xchg r14, rcx
call fcn.14004e460
mov qword [rdi + 0x20], rax
mov dl, 0x1a
add dl, 0x2a
add dl, 0x15
add dl, 0x21
sub dl, 0x41
sub dl, 0x38
xchg rbp, rcx
mov rbp, rbx
xchg rbp, rcx
call fcn.14006c420
test al, al
je 0x14005fc25
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
xchg r12, rbx
mov qword [rsp + 0x40], rbx
xchg r12, rbx
mov byte [rax], 0x70
xor byte [rax], 0x18
sub byte [rax], 0xf
xor byte [rax], 0x36
sub byte [rax], 0x4f
xor byte [rax], 9
xor byte [rax], 0xe
sub byte [rax], 0x16
sub byte [rax], 0x11
inc r14
cmp r14, rsi
jb 0x14005f9c4
jmp 0x14005f921
mov byte [rbp + 0x88], 0x38
xor byte [rbp + 0x88], 3
add byte [rbp + 0x88], 8
sub byte [rbp + 0x88], 0x2b
xor byte [rbp + 0x88], 0x74
sub byte [rbp + 0x88], 0x6b
lea rdx, [rbp + 0x88]
call fcn.140048360
xchg r15, rax
mov qword [rbp + 0x88], r15
xchg r15, rax
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi + 0x18]
je 0x14005fb01
xchg rcx, rax
mov qword [rdx], rcx
xchg rcx, rax
nop
add qword [rdi + 0x10], 0x3a436153
sub qword [rdi + 0x10], 0x3a43614b
jmp 0x14005fb11
lea r8, [rbp + 0x88]
lea rcx, [rdi + 8]
call fcn.140033000
cmp dword [rbx + 0x10], 0x7d
je 0x14005f921
nop word [rax + rax]
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140063cc0
test al, al
je 0x14005fc25
xchg rcx, rdi
mov rcx, qword [rbx + 0x28]
xchg rdi, rcx
xchg rsi, rax
mov rsi, qword [rdi + 0x10]
xchg rsi, rax
mov rax, qword [rax - 8]
lea rdx, [rsp + 0x30]
xchg rcx, rsi
mov rsi, qword [rax + 8]
xchg rsi, rcx
call fcn.14004e460
xchg r12, rax
mov qword [rdi + 0x20], r12
xchg r12, rax
mov dl, reloc.SHLWAPI.dll_SHCreateMemStream
add dl, 0x11
xor dl, 0x5a
add dl, 1
xor dl, 0x40
add dl, 0x23
xor dl, 0x1d
sub dl, 0x35
mov rcx, rbx
call fcn.14006c420
test al, al
je 0x14005fc25
inc qword [rbx + 0x18]
mov rax, qword [rbx]
cmp rax, qword [rbx + 8]
je 0x14005fbc1
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x4e
je 0x14005fb96
jmp 0x14005fbeb
mov dword [rbx + 0x10], 0x66d7adfe
xor dword [rbx + 0x10], 0x61412726
xor dword [rbx + 0x10], 0x6208aa7f
xor dword [rbx + 0x10], 0x439e887e
add dword [rbx + 0x10], 0x671151b
xor dword [rbx + 0x10], 0xd38e420b
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], r12
mov byte [rax], 0x5b
xor byte [rax], 0x6f
add byte [rax], 0x4a
sub byte [rax], 0x35
add byte [rax], 0x24
sub byte [rax], 0x12
sub byte [rax], 0x5b
cmp dword [rbx + 0x10], 0x7d
jne 0x14005fb25
jmp 0x14005f921
xor bl, bl
jmp 0x14005f94d
call fcn.1401fcba8
movzx eax, bl
jmp 0x14005f751
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14004bf00
lea rdx, [0x1402153e0]
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll__CxxThrowException
int3