Function at 0x14006c7c0
Capabilities:
Authenticate hmac

Disassembly:
xchg rbx, rbp
mov qword [rsp + 8], rbp
xchg rbp, rbx
xchg rsi, r11
mov qword [rsp + 0x18], r11
xchg rsi, r11
xchg rcx, rdi
mov qword [rsp + 0x20], rcx
xchg rcx, rdi
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push r12
push r13
push r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movzx r14d, r9b
mov rbx, rcx
xor r13d, r13d
xchg r9, r8
mov qword [rcx + 0x28], r9
xchg r8, r9
xor dil, dil
lea rsi, [r13 - 1]
sub edx, 1
je 0x14006c915
sub edx, 1
je 0x14006c90b
sub edx, 1
je 0x14006c8c4
sub edx, 1
je 0x14006c8b8
cmp edx, 1
je 0x14006c8c4
movzx eax, dil
lea r11, [rsp + 0x150]
xchg rbx, r15
mov r15, qword [r11 + 0x30]
xchg rbx, r15
mov rsi, qword [r11 + 0x40]
xchg rdi, r9
mov r9, qword [r11 + 0x48]
xchg r9, rdi
mov rsp, r11
push rbx
push rcx
push rcx
push rax
push rdx
push rax
xchg qword [rsp + 0x30], r15
add rsp, 0x38
nop
mov r14, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
push rdx
push rcx
push rcx
xchg qword [rsp + 0x18], r12
pop rcx
pop rcx
pop rdx
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.140068640
jmp 0x14006c938
inc qword [rcx + 0x18]
xchg r14, rax
mov r14, qword [rcx]
xchg r14, rax
cmp rax, qword [rcx + 8]
je 0x14006c8fc
movzx edx, byte [rax]
inc rax
xchg rbx, rax
mov qword [rcx], rbx
xchg rbx, rax
mov dword [rcx + 0x10], edx
cmp edx, 0x4e
je 0x14006c8c4
call fcn.140064e60
jmp 0x14006c938
mov edx, esi
mov dword [rcx + 0x10], esi
call fcn.140064e60
jmp 0x14006c938
call fcn.14006ac50
jmp 0x14006c938
mov r8d, dword [rbp + 0xa0]
mov dl, 0x62
sub dl, 0x1a
sub dl, 0x3f
add dl, 0x6e
sub dl, 0x34
sub dl, 0x27
add dl, 0x25
xor dl, 0x40
call fcn.140068790
movzx edi, al
test al, al
je 0x14006c84e
test r14b, r14b
je 0x14006c84e
mov eax, dword [rbx + 0x24]
sub eax, 3
test eax, 0xfffffffd
je 0x14006c977
xchg r15, rcx
mov r15, rbx
xchg r15, rcx
call fcn.140056c70
jmp 0x14006c9ad
inc qword [rbx + 0x18]
xchg r8, rax
mov r8, qword [rbx]
xchg r8, rax
cmp rax, qword [rbx + 8]
je 0x14006c9aa
movzx ecx, byte [rax]
inc rax
xchg rdi, rax
mov qword [rbx], rdi
xchg rdi, rax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x4e
je 0x14006c977
jmp 0x14006c9ad
mov dword [rbx + 0x10], esi
mov ecx, dword [rbx + 0x10]
cmp ecx, esi
je 0x14006c84e
mov r12, qword [rbx + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0x5403fce4
sub qword [rbp - 0x80], 0x4c4034f
add qword [rbp - 0x80], 0x4b4a3ee
add qword [rbp - 0x80], 0x690f00f
add qword [rbp - 0x80], 0x18775b84
sub qword [rbp - 0x80], 0x63b04c66
add qword [rbp - 0x80], 0x65280d9e
xor qword [rbp - 0x80], 0x7474aa4b
mov qword [rbp - 0x78], 0x54008768
add qword [rbp - 0x78], 0x1391a16f
xor qword [rbp - 0x78], 0x37f88cf4
xor qword [rbp - 0x78], 0x11f7b877
xor qword [rbp - 0x78], 0x553016c0
add qword [rbp - 0x78], 0x2534ed6f
sub qword [rbp - 0x78], 0x39e1f7f4
mov eax, dword [0x140001844]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x140001848]
mov byte [rsp + 0x74], al
mov byte [rsp + 0x75], r13b
xor eax, eax
mov word [rbp + 0x88], ax
mov byte [rbp + 0x8a], al
movzx r9d, cl
lea r8, [0x140001914]
lea edx, [rax + 3]
lea rcx, [rbp + 0x88]
call fcn.140073730
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
xchg r15, r13
mov qword [rsp + 0x48], r15
xchg r15, r13
lea rax, [rbp + 0x88]
xchg r14, rsi
mov rsi, r14
xchg r14, rsi
nop dword [rax]
inc r14
cmp byte [rax + r14], 0
jne 0x14006caae
movabs r15, 0x7fffffff1c1476ca
add r15, 0x423d2338
xor r15, 0x2b7e7255
sub r15, 0x51026a15
xor r15, 0x2eadc68d
xor r15, 0x1c1d36fc
add r15, 0x12bbad23
add r15, 0x7fffffff
add r15, 0x56a6c4aa
cmp r14, r15
ja 0x14006d184
mov eax, 0x6ac4bdc
add eax, 0x3e17246
xor eax, 0x5132662b
sub eax, 0x3aca7e0f
xor eax, 0x437c11c4
sub eax, 0x63894828
cmp r14, 0x10
jae 0x14006cbcb
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0x79793321
sub qword [rsp + 0x48], 0xe90c78a
sub qword [rsp + 0x48], 0x42ea181c
xor qword [rsp + 0x48], 0x543d7c27
sub qword [rsp + 0x48], 0x5451180
sub qword [rsp + 0x48], 0x22f6d2e
sub qword [rsp + 0x48], 0x2c619629
sub qword [rsp + 0x48], 0x3fed1a76
mov r8, r14
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + r14 + 0x30], 0xf
xor byte [rsp + r14 + 0x30], 0x5a
sub byte [rsp + r14 + 0x30], 0x51
add byte [rsp + r14 + 0x30], 0xe
add byte [rsp + r14 + 0x30], 0x31
xor byte [rsp + r14 + 0x30], 0x36
sub byte [rsp + r14 + 0x30], 0x28
sub byte [rsp + r14 + 0x30], 0x3a
sub byte [rsp + r14 + 0x30], 0x13
jmp 0x14006cc66
mov r13, r14
or r13, 0xf
cmp r13, r15
jbe 0x14006cbe9
xchg r13, r11
mov r11, r15
xchg r11, r13
jmp 0x14006cbf0
cmp r13, rax
cmovb r13, rax
lea rdx, [r13 + 1]
lea rcx, [rsp + 0x30]
call fcn.1400538f0
xchg rbp, rax
mov rdi, rbp
xchg rbp, rax
xchg r12, rax
mov qword [rsp + 0x30], r12
xchg r12, rax
xchg rbp, r14
mov qword [rsp + 0x40], rbp
xchg r14, rbp
xchg rbx, r13
mov qword [rsp + 0x48], rbx
xchg r13, rbx
mov r8, r14
lea rdx, [rbp + 0x88]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r14], 0x51
xor byte [rdi + r14], 0x5f
add byte [rdi + r14], 0x43
sub byte [rdi + r14], 2
sub byte [rdi + r14], 0x36
sub byte [rdi + r14], 0x15
add byte [rdi + r14], 0x1a
xor byte [rdi + r14], 0x42
sub byte [rdi + r14], 0x5c
xor r13d, r13d
lea r8, [rsp + 0x30]
lea rdx, [0x140001850]
lea rcx, [rbp - 0x50]
call fcn.140036d90
nop
lea rcx, [rsp + 0x70]
xchg rcx, rbx
mov qword [rsp + 0x20], rbx
xchg rbx, rcx
xchg r9, rsi
mov rsi, rax
xchg rsi, r9
mov r8d, dword [rbx + 0x24]
lea rdx, [rbp - 0x70]
xchg rbx, r11
mov rcx, r11
xchg rbx, r11
call fcn.1400557b0
nop
xchg r13, r10
mov qword [rsp + 0x20], r10
xchg r13, r10
xchg r8, r9
mov r8, rax
xchg r8, r9
mov r8, qword [rbx + 0x18]
mov edx, 0x3fd34e4
add edx, 0x132a51ec
add edx, 0x66dbf570
xor edx, 0x77d291b2
add edx, 0xe99ce68
add edx, 0x39715c78
sub edx, 0x51dd1864
lea rcx, [rbp - 0x30]
call fcn.140038d40
xchg rbx, rax
mov rdi, rbx
xchg rbx, rax
xor eax, eax
mov word [rbp + 0x88], ax
mov byte [rbp + 0x8a], al
movzx r9d, byte [rbx + 0x10]
lea r8, [0x140001914]
lea edx, [rax + 3]
lea rcx, [rbp + 0x88]
call fcn.140073730
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xchg r12, r13
mov qword [rsp + 0x60], r12
xchg r12, r13
xchg r13, rbx
mov qword [rsp + 0x68], rbx
xchg rbx, r13
lea rax, [rbp + 0x88]
nop dword [rax + rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x14006cd54
cmp rsi, r15
ja 0x14006d18a
cmp rsi, 0x10
jae 0x14006ce08
xchg rsi, r10
mov qword [rsp + 0x60], r10
xchg r10, rsi
mov qword [rsp + 0x68], 0x14a4d4b3
xor qword [rsp + 0x68], 0x1155c13c
add qword [rsp + 0x68], 0x39cef1f8
sub qword [rsp + 0x68], 0x2d723de1
xor qword [rsp + 0x68], 0x6cdbc928
sub qword [rsp + 0x68], 0x7e96007f
xchg r8, r15
mov r15, rsi
xchg r15, r8
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rsi + 0x50], 0x40
xor byte [rsp + rsi + 0x50], 0x33
sub byte [rsp + rsi + 0x50], 0x12
add byte [rsp + rsi + 0x50], 0x1d
sub byte [rsp + rsi + 0x50], 0x2a
sub byte [rsp + rsi + 0x50], 0x54
xchg rdx, r15
mov rdx, qword [rsp + 0x68]
xchg rdx, r15
xchg r12, rbx
mov r12, qword [rsp + 0x50]
xchg r12, rbx
jmp 0x14006cec1
xchg r15, rsi
mov rax, r15
xchg r15, rsi
or rax, 0xf
cmp rax, r15
ja 0x14006ce59
xchg rcx, rax
mov r15, rcx
xchg rcx, rax
cmp rax, 0x16
pushf
mov eax, 0x1b29abb9
add eax, 0x102858ba
xor eax, 0x687b7d33
sub eax, 0x35036309
xor eax, 0x6add138d
xor eax, 0x764f7d9b
xor eax, 0x26525dd6
sub eax, 0x34e625e1
popf
cmovb r15, rax
lea rdx, [r15 + 1]
lea rcx, [rsp + 0x50]
call fcn.1400538f0
xchg rbp, rax
mov rbx, rbp
xchg rbp, rax
mov qword [rsp + 0x50], rax
xchg rsi, rdx
mov qword [rsp + 0x60], rdx
xchg rdx, rsi
mov qword [rsp + 0x68], r15
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea rdx, [rbp + 0x88]
xchg rcx, rdi
mov rdi, rax
xchg rdi, rcx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi], 0x44
sub byte [rbx + rsi], 0x2e
add byte [rbx + rsi], 0x36
xor byte [rbx + rsi], 0x1e
xor byte [rbx + rsi], 0x13
xor byte [rbx + rsi], 0xe
add byte [rbx + rsi], 0x1d
xor byte [rbx + rsi], 0x6c
mov byte [r12 + 0x28], 0x6c
add byte [r12 + 0x28], 0x12
sub byte [r12 + 0x28], 0xa
sub byte [r12 + 0x28], 0x6a
add byte [r12 + 0x28], 0x2a
sub byte [r12 + 0x28], 0x33
cmp byte [r12 + 0x29], 0
jne 0x14006d161
cmp r15, 0x10
jb 0x14006cf53
lea rdx, [r15 + 1]
xchg r8, rax
mov r8, rbx
xchg r8, rax
cmp rdx, 0x1000
jb 0x14006cf44
nop
add rdx, 0x15b5ecc0
sub rdx, 0x15b5ec99
mov rbx, qword [rbx - 8]
sub rax, rbx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14006cf44
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xchg r11, rbx
mov rcx, r11
xchg rbx, r11
call fcn.1401fcb70
nop
lea rbx, [0x140004a88]
xchg r13, rbx
mov qword [rbp - 0x10], r13
xchg r13, 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, r13
mov r13, qword [rbp - 0x58]
xchg rdx, r13
cmp rdx, 0x10
jb 0x14006cfe2
inc rdx
mov rcx, qword [rbp - 0x70]
xchg rcx, rsi
mov rax, rsi
xchg rcx, rsi
cmp rdx, 0x1000
jb 0x14006cfdd
nop
sub rdx, 0x67fc92e8
add rdx, 0x67fc930f
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14006cfdd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb70
movdqa xmm0, xmmword [0x140002c80]
xchg rbp, rsi
movdqu xmmword [rsi - 0x60], xmm0
xchg rbp, rsi
mov byte [rbp - 0x70], 0x43
sub byte [rbp - 0x70], 0x37
xor byte [rbp - 0x70], 0x6f
sub byte [rbp - 0x70], 0x3c
add byte [rbp - 0x70], 0x19
sub byte [rbp - 0x70], 0x40
xchg r14, rdx
mov r14, qword [rbp - 0x38]
xchg rdx, r14
cmp rdx, 0x10
jb 0x14006d067
inc rdx
xchg r14, rcx
mov r14, qword [rbp - 0x50]
xchg rcx, r14
xchg r15, rax
mov r15, rcx
xchg r15, rax
cmp rdx, 0x1000
jb 0x14006d062
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006d062
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb70
movdqa xmm0, xmmword [0x140002c80]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0x69
add byte [rbp - 0x50], 0xd
sub byte [rbp - 0x50], 0x3f
xor byte [rbp - 0x50], 0x53
sub byte [rbp - 0x50], 9
sub byte [rbp - 0x50], 0x1c
sub byte [rbp - 0x50], 0x3f
xchg rdx, r13
mov r13, qword [rsp + 0x48]
xchg rdx, r13
cmp rdx, 0x10
jb 0x14006d0fa
inc rdx
mov rcx, qword [rsp + 0x30]
xchg rcx, rbx
mov rax, rbx
xchg rbx, rcx
cmp rdx, 0x1000
jb 0x14006d0f4
nop
add rdx, 0x2c40d916
sub rdx, 0x2c40d8ef
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14006d0f4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb70
nop
xchg rdx, r8
mov r8, qword [rbp - 0x78]
xchg rdx, r8
cmp rdx, 0x10
jb 0x14006d15a
inc rdx
xchg rcx, r8
mov r8, qword [rsp + 0x70]
xchg r8, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006d155
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffff909eda57
sub rax, 0xffffffff909eda5f
cmp rax, 0x1f
jbe 0x14006d155
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb70
xor al, al
jmp 0x14006c852
xchg r12, rdx
mov r12, rdi
xchg rdx, r12
lea rcx, [rbp + 0x10]
call fcn.14004c150
lea rdx, [0x1402155c8]
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14002f830
nop
call fcn.14002f830
int3