Function at 0x140004b20
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x140037040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov qword [rbp - 0x11], rdx
mov rax, rcx
mov qword [rbp - 0x19], rcx
xor ebx, ebx
mov r14d, ebx
mov dword [rbp - 0x41], ebx
mov r15d, ebx
lea r13, [rcx + 0x100]
mov r12d, ebx
mov dword [rbp - 9], ebx
test r13, r13
jne 0x140004b7e
mov ecx, ebx
jmp 0x140004b9c
mov r8d, 4
lea rdx, [rbp - 9]
mov rcx, r13
call fcn.140003e70
mov ecx, dword [rbp - 9]
test al, al
cmove ecx, ebx
mov rax, qword [rbp - 0x19]
cmp r15d, ecx
jge 0x140004dd4
lea rcx, [rax + 0x98]
mov qword [rbp - 9], rbx
test rcx, rcx
jne 0x140004bba
mov rcx, rbx
jmp 0x140004bd3
mov r8d, 8
lea rdx, [rbp - 9]
call fcn.140003e70
mov rcx, qword [rbp - 9]
test al, al
cmove rcx, rbx
movsxd rsi, r12d
add rsi, rcx
je 0x140004db8
lea rcx, [rsi + 8]
mov qword [rbp - 9], rbx
test rcx, rcx
jne 0x140004bf1
mov rdi, rbx
jmp 0x140004c0a
mov r8d, 8
lea rdx, [rbp - 9]
call fcn.140003e70
mov rdi, qword [rbp - 9]
test al, al
cmove rdi, rbx
mov ecx, 0x80
call fcn.14002fd84
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x70], xmm0
or r14d, 4
mov dword [rbp - 0x41], r14d
mov qword [rbp - 1], rax
mov r8d, 0x80
mov rdx, rax
mov rcx, rdi
call fcn.140003e70
mov rdx, rbx
lea rcx, [rbp - 0x39]
call fcn.14002c360
or r14d, 2
mov rcx, rbx
call fcn.14002fa30
or r14d, 1
mov dword [rbp - 0x41], r14d
lea rax, [rbp - 0x39]
mov r9, qword [rbp - 0x21]
cmp r9, 0xf
seta cl
mov r8, qword [rbp - 0x39]
cmova rax, r8
cmp byte [rax], 0xee
jne 0x140004d52
lea rdx, [rbp - 0x39]
mov eax, dword [0x140031c68]
mov dword [rbp - 0x49], eax
movzx eax, word [0x140031c6c]
mov word [rbp - 0x45], ax
movzx eax, byte [0x140031c6e]
test cl, cl
jne 0x140004cbc
mov r8, rdx
mov byte [rbp - 0x49], 0x5c
xor byte [rbp - 0x48], 0x36
xor byte [rbp - 0x47], 0x37
xor byte [rbp - 0x46], 0x38
xor byte [rbp - 0x45], 0x39
xor byte [rbp - 0x44], 0x3a
xor al, 0x3b
mov byte [rbp - 0x43], al
mov rcx, r8
call fcn.1400043d0
movzx r9d, ax
lea r8, [rbp - 0x49]
mov edx, 0x20
lea rcx, [rbp + 7]
call fcn.140001750
lea rax, [rbp + 7]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140004d02
mov rax, qword [rbp - 0x21]
cmp rdi, rax
ja 0x140004d3a
lea rbx, [rbp - 0x39]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x39]
mov qword [rbp - 0x29], rdi
mov r8, rdi
lea rdx, [rbp + 7]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x140004d4a
lea r9, [rbp + 7]
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.14002dd50
mov r8, qword [rbp - 0x39]
mov r9, qword [rbp - 0x21]
lea rax, [rbp - 0x39]
cmp r9, 0xf
cmova rax, r8
mov rdx, qword [rbp - 0x11]
sub rdx, rax
movzx ebx, byte [rax]
movzx ecx, byte [rax + rdx]
sub ebx, ecx
jne 0x140004d77
inc rax
test ecx, ecx
jne 0x140004d65
and r14d, 0xfffffffe
mov dword [rbp - 0x41], r14d
cmp r9, 0xf
jbe 0x140004db2
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x140004daa
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004dc8
mov rcx, r8
call fcn.14002fa30
test ebx, ebx
je 0x140004dcf
xor ebx, ebx
inc r15d
add r12d, 0x20
mov rax, qword [rbp - 0x19]
jmp 0x140004b72
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, rsi
jmp 0x140004dd6
xor eax, eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14002fa10
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret