Function at 0x180081d60
Capabilities:
Authenticate hmac

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov r14, qword [r8 + 0x10]
cmp r14, 0x41
jb 0x180081e3a
lea r14, [rbp - 0x10]
mov rcx, r14
mov rdx, rsi
call fcn.18008e540
mov rax, qword [rsi + 0x18]
cmp r14, rsi
je 0x180081dfb
cmp rax, 0x10
jb 0x180081dea
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180081de5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800822e4
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
movups xmm0, xmmword [rbp - 0x10]
movups xmm1, xmmword [rbp]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x180081e36
cmp rax, 0x10
jb 0x180081e36
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180081e31
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800822e9
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov r14, qword [rsi + 0x10]
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov r15, qword [rsi]
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
mov r12, rsi
cmovae r12, r15
test r14, r14
js 0x1800822c6
cmp r14, 0xf
ja 0x180081e8f
mov qword [rbp], r14
mov qword [rbp + 8], recvfrom
movups xmm0, xmmword [r12]
movaps xmmword [rbp - 0x10], xmm0
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
cmp rax, 0x10
cmovb r15, rsi
jmp 0x180081f18
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r15d, socket
cmovae r15, rax
cmp r15, 0xfff
jb 0x180081ec7
lea rcx, [r15 + 0x28]
call fcn.1800a77e0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x180081ed3
lea rcx, [r15 + 1]
call fcn.1800a77e0
mov rcx, rax
mov qword [rbp - 0x10], rcx
mov qword [rbp], r14
mov qword [rbp + 8], r15
inc r14
mov rdx, r12
mov r8, r14
call fcn.1800d5310
mov r14, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
mov r15, rsi
jb 0x180081efe
mov r15, qword [rsi]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
js 0x1800822cb
cmp r14, 0xf
ja 0x180081f90
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], recvfrom
movups xmm0, xmmword [r15]
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
je 0x180081ffd
lea rax, [rbp - 0x10]
xor r14d, r14d
lea rcx, [rbp - 0x30]
jmp 0x180081f5e
xor byte [rdx + r14], 0x5c
inc r14
cmp r14, qword [rsi + 0x10]
je 0x180081f81
cmp qword [rbp + 8], 0x10
mov rdx, rax
jb 0x180081f6c
mov rdx, qword [rbp - 0x10]
xor byte [rdx + r14], 0x36
cmp qword [rbp - 0x18], 0x10
mov rdx, rcx
jb 0x180081f50
mov rdx, qword [rbp - 0x30]
jmp 0x180081f50
sub r14, 0x40
je 0x18008207d
neg r14
jmp 0x180082003
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r12d, socket
cmovae r12, rax
cmp r12, 0xfff
jb 0x180081fc9
lea rcx, [r12 + 0x28]
call fcn.1800a77e0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x180081fd6
lea rcx, [r12 + 1]
call fcn.1800a77e0
mov rcx, rax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r12
inc r14
mov rdx, r15
mov r8, r14
call fcn.1800d5310
mov r14, qword [rsi + 0x10]
test r14, r14
jne 0x180081f35
mov r14d, 0x40
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r14
jae 0x18008202c
mov byte [rsp + 0x20], 0x36
lea rcx, [rbp - 0x10]
mov rdx, r14
mov r9, r14
call fcn.180019d60
jmp 0x180082056
lea r15, [rcx + r14]
mov qword [rbp], r15
cmp rax, 0x10
jb 0x180082040
mov r12, qword [rbp - 0x10]
jmp 0x180082044
lea r12, [rbp - 0x10]
add rcx, r12
mov dl, 0x36
mov r8, r14
call fcn.1800d5a50
mov byte [r12 + r15], 0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r14
jae 0x1800820c8
mov byte [rsp + 0x20], 0x5c
lea rcx, [rbp - 0x30]
mov rdx, r14
mov r9, r14
call fcn.180019d60
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x18008208b
mov rbx, qword [rbx]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1800820b4
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x10]
mov rdx, r8
mov r9, rbx
call fcn.18000a810
jmp 0x1800820f7
lea r14, [rcx + r8]
mov qword [rbp], r14
cmp rax, 0x10
jb 0x1800820e3
mov r15, qword [rbp - 0x10]
jmp 0x1800820e7
lea r15, [rcx + r14]
mov qword [rbp - 0x20], r15
cmp rax, 0x10
jb 0x18008229c
mov r12, qword [rbp - 0x30]
jmp 0x1800822a0
lea r15, [rbp - 0x10]
add rcx, r15
mov rdx, rbx
call fcn.1800d5310
mov byte [r15 + r14], 0
lea rbx, [rbp - 0x50]
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.18008e540
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
jb 0x180082116
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x180082149
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x30]
mov rdx, r8
mov r9, rbx
call fcn.18000a810
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jae 0x18008217b
jmp 0x1800821b0
lea r14, [rcx + r8]
mov qword [rbp - 0x20], r14
cmp rax, 0x10
jb 0x18008215d
mov r15, qword [rbp - 0x30]
jmp 0x180082161
lea r15, [rbp - 0x30]
add rcx, r15
mov rdx, rbx
call fcn.1800d5310
mov byte [r15 + r14], 0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1800821b0
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800821ab
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800822d0
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.18008e540
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x1800821fb
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800821f6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800822d5
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18008223a
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180082235
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800822da
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x180082274
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18008226f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800822df
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], recvfrom
mov byte [rsi], 0
mov rax, rdi
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
lea r12, [rbp - 0x30]
add rcx, r12
mov dl, 0x5c
mov r8, r14
call fcn.1800d5a50
mov byte [r12 + r15], 0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jae 0x180082088
jmp 0x18008208b
call fcn.180009080
call fcn.180009080
call fcn.1800b109c
call fcn.1800b109c
call fcn.1800b109c
call fcn.1800b109c
call fcn.1800b109c
call fcn.1800b109c
int3