Function at 0x18006c400
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, 0x81
jb 0x18006c4dd
lea r14, [rbp - 0x10]
mov rcx, r14
mov rdx, rsi
call fcn.18009abc0
mov rax, qword [rsi + 0x18]
cmp r14, rsi
je 0x18006c49e
cmp rax, 0x10
jb 0x18006c48d
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c488
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c987
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 0x18006c4d9
cmp rax, 0x10
jb 0x18006c4d9
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c4d4
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c98c
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 0x18006c969
cmp r14, 0xf
ja 0x18006c532
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 0x18006c5bb
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r15d, socket
cmovae r15, rax
cmp r15, 0xfff
jb 0x18006c56a
lea rcx, [r15 + 0x28]
call fcn.1800a77e0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x18006c576
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 0x18006c5a1
mov r15, qword [rsi]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
js 0x18006c96e
cmp r14, 0xf
ja 0x18006c633
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], recvfrom
movups xmm0, xmmword [r15]
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
je 0x18006c6a0
lea rax, [rbp - 0x10]
xor r14d, r14d
lea rcx, [rbp - 0x30]
jmp 0x18006c5fe
xor byte [rdx + r14], 0x5c
inc r14
cmp r14, qword [rsi + 0x10]
je 0x18006c621
cmp qword [rbp + 8], 0x10
mov rdx, rax
jb 0x18006c60c
mov rdx, qword [rbp - 0x10]
xor byte [rdx + r14], 0x36
cmp qword [rbp - 0x18], 0x10
mov rdx, rcx
jb 0x18006c5f0
mov rdx, qword [rbp - 0x30]
jmp 0x18006c5f0
sub r14, 0x80
je 0x18006c720
neg r14
jmp 0x18006c6a6
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r12d, socket
cmovae r12, rax
cmp r12, 0xfff
jb 0x18006c66c
lea rcx, [r12 + 0x28]
call fcn.1800a77e0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x18006c679
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 0x18006c5d8
mov r14d, 0x80
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r14
jae 0x18006c6cf
mov byte [rsp + 0x20], 0x36
lea rcx, [rbp - 0x10]
mov rdx, r14
mov r9, r14
call fcn.180019d60
jmp 0x18006c6f9
lea r15, [rcx + r14]
mov qword [rbp], r15
cmp rax, 0x10
jb 0x18006c6e3
mov r12, qword [rbp - 0x10]
jmp 0x18006c6e7
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 0x18006c76b
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 0x18006c72e
mov rbx, qword [rbx]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x18006c757
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x10]
mov rdx, r8
mov r9, rbx
call fcn.18000a810
jmp 0x18006c79a
lea r14, [rcx + r8]
mov qword [rbp], r14
cmp rax, 0x10
jb 0x18006c786
mov r15, qword [rbp - 0x10]
jmp 0x18006c78a
lea r15, [rcx + r14]
mov qword [rbp - 0x20], r15
cmp rax, 0x10
jb 0x18006c93f
mov r12, qword [rbp - 0x30]
jmp 0x18006c943
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.18009abc0
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
jb 0x18006c7b9
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 0x18006c7ec
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 0x18006c81e
jmp 0x18006c853
lea r14, [rcx + r8]
mov qword [rbp - 0x20], r14
cmp rax, 0x10
jb 0x18006c800
mov r15, qword [rbp - 0x30]
jmp 0x18006c804
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 0x18006c853
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c84e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c973
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.18009abc0
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x18006c89e
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c899
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c978
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18006c8dd
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c8d8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c97d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x18006c917
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c912
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c982
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 0x18006c72b
jmp 0x18006c72e
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