Function at 0x18006bd90
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 0x18006be6a
lea r14, [rbp - 0x10]
mov rcx, r14
mov rdx, rsi
call fcn.18008e330
mov rax, qword [rsi + 0x18]
cmp r14, rsi
je 0x18006be2b
cmp rax, 0x10
jb 0x18006be1a
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006be15
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c314
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 0x18006be66
cmp rax, 0x10
jb 0x18006be66
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006be61
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c319
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 0x18006c2f6
cmp r14, 0xf
ja 0x18006bebf
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 0x18006bf48
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r15d, socket
cmovae r15, rax
cmp r15, 0xfff
jb 0x18006bef7
lea rcx, [r15 + 0x28]
call fcn.1800a77e0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x18006bf03
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 0x18006bf2e
mov r15, qword [rsi]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
js 0x18006c2fb
cmp r14, 0xf
ja 0x18006bfc0
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], recvfrom
movups xmm0, xmmword [r15]
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
je 0x18006c02d
lea rax, [rbp - 0x10]
xor r14d, r14d
lea rcx, [rbp - 0x30]
jmp 0x18006bf8e
xor byte [rdx + r14], 0x5c
inc r14
cmp r14, qword [rsi + 0x10]
je 0x18006bfb1
cmp qword [rbp + 8], 0x10
mov rdx, rax
jb 0x18006bf9c
mov rdx, qword [rbp - 0x10]
xor byte [rdx + r14], 0x36
cmp qword [rbp - 0x18], 0x10
mov rdx, rcx
jb 0x18006bf80
mov rdx, qword [rbp - 0x30]
jmp 0x18006bf80
sub r14, 0x40
je 0x18006c0ad
neg r14
jmp 0x18006c033
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r12d, socket
cmovae r12, rax
cmp r12, 0xfff
jb 0x18006bff9
lea rcx, [r12 + 0x28]
call fcn.1800a77e0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x18006c006
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 0x18006bf65
mov r14d, 0x40
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r14
jae 0x18006c05c
mov byte [rsp + 0x20], 0x36
lea rcx, [rbp - 0x10]
mov rdx, r14
mov r9, r14
call fcn.180019d60
jmp 0x18006c086
lea r15, [rcx + r14]
mov qword [rbp], r15
cmp rax, 0x10
jb 0x18006c070
mov r12, qword [rbp - 0x10]
jmp 0x18006c074
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 0x18006c0f8
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 0x18006c0bb
mov rbx, qword [rbx]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x18006c0e4
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x10]
mov rdx, r8
mov r9, rbx
call fcn.18000a810
jmp 0x18006c127
lea r14, [rcx + r8]
mov qword [rbp], r14
cmp rax, 0x10
jb 0x18006c113
mov r15, qword [rbp - 0x10]
jmp 0x18006c117
lea r15, [rcx + r14]
mov qword [rbp - 0x20], r15
cmp rax, 0x10
jb 0x18006c2cc
mov r12, qword [rbp - 0x30]
jmp 0x18006c2d0
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.18008e330
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
jb 0x18006c146
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 0x18006c179
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 0x18006c1ab
jmp 0x18006c1e0
lea r14, [rcx + r8]
mov qword [rbp - 0x20], r14
cmp rax, 0x10
jb 0x18006c18d
mov r15, qword [rbp - 0x30]
jmp 0x18006c191
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 0x18006c1e0
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c1db
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c300
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.18008e330
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x18006c22b
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c226
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c305
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18006c26a
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c265
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c30a
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800a77d0
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x18006c2a4
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18006c29f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006c30f
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 0x18006c0b8
jmp 0x18006c0bb
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