Function at 0x4e6480
Capabilities:
Authenticate hmac

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4e6872
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov eax, 2
mov ecx, 0x5c
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
jmp 0x4e64c0
inc rdx
mov rax, rcx
mov rcx, qword [rsp + 0x40]
mov rbx, r8
nop word [rax + rax]
cmp rax, 7
je 0x4e6830
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdx
mov r8, rax
imul rax, rdx
xor rax, rcx
mov qword [rsp + 0x40], rax
cmp r8, 4
jg 0x4e6640
cmp r8, 1
jg 0x4e6597
test r8, r8
jne 0x4e6545
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e6536
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0x22
mov ecx, 3
nop
jmp 0x4e64ac
cmp r8, 1
jne 0x4e6825
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e6589
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0x18
mov ecx, 5
jmp 0x4e64ac
cmp r8, 2
jne 0x4e65e5
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e65d7
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0xfd
mov ecx, 0xa
jmp 0x4e64ac
cmp r8, 3
jne 0x4e6633
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e6625
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0x27
mov ecx, 8
jmp 0x4e64ac
xor ecx, ecx
jmp 0x4e6860
cmp r8, 8
jg 0x4e6737
cmp r8, 5
jne 0x4e6695
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e668a
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0xf6
xor ecx, ecx
jmp 0x4e64ac
cmp r8, 6
jne 0x4e66e5
lea r8, [rbx + 1]
nop
cmp rsi, r8
jae 0x4e66d6
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0x2c
mov ecx, 0xb
nop
jmp 0x4e64ac
cmp r8, 8
jne 0x4e6825
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e6729
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0x30
mov ecx, 9
jmp 0x4e64ac
cmp r8, 9
jne 0x4e6785
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e6777
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0x36
mov ecx, 4
jmp 0x4e64ac
cmp r8, 0xa
jne 0x4e67d3
lea r8, [rbx + 1]
cmp rsi, r8
jae 0x4e67c5
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0x1a
mov ecx, 6
jmp 0x4e64ac
cmp r8, 0xb
jne 0x4e6825
lea r8, [rbx + 1]
nop dword [rax]
cmp rsi, r8
jae 0x4e6816
lea rax, [0x0062ea40]
mov rcx, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
call fcn.004407c0
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov byte [rdi + rbx], 0
mov ecx, 1
nop
jmp 0x4e64ac
mov rcx, r8
mov r8, rbx
jmp 0x4e64ac
xor eax, eax
mov rcx, rbx
mov rbx, rdi
call fcn.00443880
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
movzx r8d, byte [rdi + rcx]
mov r9, rcx
xor rcx, rax
add r8d, ecx
mov byte [rdi + r9], r8b
lea rcx, [r9 + 1]
nop dword [rax]
cmp rbx, rcx
jg 0x4e6847
mov ecx, 7
mov r8, rbx
jmp 0x4e64ac
call fcn.00453c40
jmp fcn.004e6480