Function at 0x1800a7220
Capabilities:
Authenticate hmac

Disassembly:
push rdx
movabs r13, 0xf8c9a04babaf23e
call fcn.180280e68
mov rdi, qword [rsp + 0x20]
mov r15, qword [rsp + 0x30]
je fcn.18025c920
jle 0x180220b7a
push rax
call fcn.1800a0570
nop
mov edx, 0x58
lea r12d, [rdx - 0x38]
mov rcx, r12
call fcn.1800b2bc4
mov r11, rax
xor r15d, r15d
cmp rax, r15
jne 0x1800b30ec
or eax, 0xffffffff
jmp 0x1800b3367
mov qword [0x1800cb800], rax
mov ecx, r12d
mov dword [0x1800cb7e8], ecx
add rax, 0xb00
cmp r11, rax
jae 0x1800b314a
mov byte [r11 + 8], r15b
or qword [r11], 0xffffffffffffffff
mov byte [r11 + 9], 0xa
mov dword [r11 + 0xc], r15d
mov byte [r11 + 0x38], r15b
mov byte [r11 + 0x39], 0xa
mov byte [r11 + 0x3a], 0xa
mov dword [r11 + 0x50], r15d
mov byte [r11 + 0x4c], r15b
add r11, 0x58
mov rax, qword [0x1800cb800]
add rax, 0xb00
cmp r11, rax
jb 0x1800b3107
mov ecx, dword [0x1800cb7e8]
cmp word [rsp + 0x62], r15w
je 0x1800b329f
mov rax, qword [rsp + 0x68]
cmp rax, r15
je 0x1800b329f
lea r13, [rax + 4]
movsxd rsi, dword [rax]
add rsi, r13
mov ebx, 0x800
cmp dword [rax], ebx
cmovl ebx, dword [rax]
mov edi, 1
cmp ecx, ebx
jge 0x1800b3212
lea r14, [0x1800cb800]
mov edx, 0x58
mov rcx, r12
call fcn.1800b2bc4
mov r11, rax
cmp rax, r15
je 0x1800b320a
mov qword [r14 + rdi*8], rax
mov eax, dword [0x1800cb7e8]
add eax, r12d
mov dword [0x1800cb7e8], eax
lea rcx, [r11 + 0xb00]
cmp r11, rcx
jae 0x1800b3201
mov byte [r11 + 8], r15b
or qword [r11], 0xffffffffffffffff
mov byte [r11 + 9], 0xa
mov dword [r11 + 0xc], r15d
and byte [r11 + 0x38], 0x80
mov byte [r11 + 0x39], 0xa
mov byte [r11 + 0x3a], 0xa
mov dword [r11 + 0x50], r15d
mov byte [r11 + 0x4c], r15b
add r11, 0x58
mov rax, qword [r14 + rdi*8]
add rax, 0xb00
cmp r11, rax
jb 0x1800b31c0
mov eax, dword [0x1800cb7e8]
inc rdi
cmp eax, ebx
jl 0x1800b318c
jmp 0x1800b3219
mov ebx, dword [0x1800cb7e8]
jmp 0x1800b3219
lea r14, [0x1800cb800]
mov edi, r15d
cmp ebx, r15d
jle 0x1800b329f
cmp qword [rsi], 0xffffffffffffffff
je 0x1800b3292
cmp qword [rsi], 0xfffffffffffffffe
je 0x1800b3292
test byte [r13], 1
je 0x1800b3292
test byte [r13], 8
jne 0x1800b3249
mov rcx, qword [rsi]
call fcn.18012e512
mov byte [rcx + 0x3b], al
invalid
movsxd r12, edi
mov rax, r12
sar rax, 5
and r12d, 0x1f
imul r12, r12, 0x58
add r12, qword [r14 + rax*8]
mov rax, qword [rsi]
mov qword [r12], rax
mov al, byte [r13]
mov byte [r12 + 8], al
lea rcx, [r12 + 0x10]
mov edx, 0xfa0
call fcn.1800b6c78
cmp eax, r15d
je 0x1800b328a
inc dword [r12 + 0xc]
jmp 0x1800b3292
or eax, 0xffffffff
jmp 0x1800b3367
inc edi
inc r13
add rsi, 8
cmp edi, ebx
jl 0x1800b3221
mov r12d, r15d
mov rdi, r15
mov rbx, rdi
imul rbx, rbx, 0x58
add rbx, qword [0x1800cb800]
cmp qword [rbx], 0xffffffffffffffff
je 0x1800b32c5
cmp qword [rbx], 0xfffffffffffffffe
je 0x1800b32c5
or byte [rbx + 8], 0x80
jmp 0x1800b3344
mov byte [rbx + 8], 0x81
lea eax, [r12 - 1]
neg eax
sbb ecx, ecx
add ecx, 0xfffffff5
mov eax, 0xfffffff6
cmp r12d, r15d
cmove ecx, eax
push rax
call fcn.18014ea49
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1800b3339
cmp rax, r15
je 0x1800b3339
mov rcx, rax
call fcn.180093d58
xchg esp, eax
cmp eax, r15d
je 0x1800b3339
mov qword [rbx], rsi
movzx eax, al
cmp eax, 2
jne 0x1800b3313
or byte [rbx + 8], 0x40
jmp 0x1800b331c
cmp eax, 3
jne 0x1800b331c
or byte [rbx + 8], 8
lea rcx, [rbx + 0x10]
mov edx, 0xfa0
call fcn.1800b6c78
cmp eax, r15d
je 0x1800b3334
inc dword [rbx + 0xc]
jmp 0x1800b3344
or eax, 0xffffffff
jmp 0x1800b3367
or byte [rbx + 8], 0x40
mov qword [rbx], 0xfffffffffffffffe
inc r12d
inc rdi
cmp rdi, 3
jl 0x1800b32a5
mov ecx, dword [0x1800cb7e8]
call fcn.1801360d8
invalid
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
mov r15, qword [rsp + 0x18]
add dword [rsp + 0x30], 0xbd206796
je 0x1800b30c1
and r13b, r13b
jge 0x18009a255
not byte [rsp + 0x30]
add qword [rsp], 0x7fe2d3ef
shl dword [rsp + 0x48], 0xf9
mov r13, qword [rsp + 0x60]
shr qword [rsp + 0x30], 0xe1
setns byte [rsp + 0x50]
xor word [rsp + 0x48], 0x862e
sub word [rsp + 0x48], 0xada4
sub byte [rsp + 0x30], 0x87
call fcn.180248153
not r13b
js 0x1801c45a9