Function at 0x14005de50
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 0x14005df2d
lea r14, [rbp - 0x10]
mov rcx, r14
mov rdx, rsi
call fcn.140087c40
mov rax, qword [rsi + 0x18]
cmp r14, rsi
je 0x14005deee
cmp rax, 0x10
jb 0x14005dedd
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005ded8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005e3d7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
movups xmm0, xmmword [rbp - 0x10]
movups xmm1, xmmword [rbp]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x14005df29
cmp rax, 0x10
jb 0x14005df29
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005df24
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005e3dc
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
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 0x14005e3b9
cmp r14, 0xf
ja 0x14005df82
mov qword [rbp], r14
mov qword [rbp + 8], setsockopt
movups xmm0, xmmword [r12]
movaps xmmword [rbp - 0x10], xmm0
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
cmp rax, 0x10
cmovb r15, rsi
jmp 0x14005e00b
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r15d, socket
cmovae r15, rax
cmp r15, 0xfff
jb 0x14005dfba
lea rcx, [r15 + 0x28]
call fcn.14009a7a0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14005dfc6
lea rcx, [r15 + 1]
call fcn.14009a7a0
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.1400c91a0
mov r14, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
mov r15, rsi
jb 0x14005dff1
mov r15, qword [rsi]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
js 0x14005e3be
cmp r14, 0xf
ja 0x14005e083
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], setsockopt
movups xmm0, xmmword [r15]
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
je 0x14005e0f0
lea rax, [rbp - 0x10]
xor r14d, r14d
lea rcx, [rbp - 0x30]
jmp 0x14005e04e
xor byte [rdx + r14], 0x5c
inc r14
cmp r14, qword [rsi + 0x10]
je 0x14005e071
cmp qword [rbp + 8], 0x10
mov rdx, rax
jb 0x14005e05c
mov rdx, qword [rbp - 0x10]
xor byte [rdx + r14], 0x36
cmp qword [rbp - 0x18], 0x10
mov rdx, rcx
jb 0x14005e040
mov rdx, qword [rbp - 0x30]
jmp 0x14005e040
sub r14, 0x80
je 0x14005e170
neg r14
jmp 0x14005e0f6
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r12d, socket
cmovae r12, rax
cmp r12, 0xfff
jb 0x14005e0bc
lea rcx, [r12 + 0x28]
call fcn.14009a7a0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14005e0c9
lea rcx, [r12 + 1]
call fcn.14009a7a0
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.1400c91a0
mov r14, qword [rsi + 0x10]
test r14, r14
jne 0x14005e028
mov r14d, 0x80
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r14
jae 0x14005e11f
mov byte [rsp + 0x20], 0x36
lea rcx, [rbp - 0x10]
mov rdx, r14
mov r9, r14
call fcn.140011390
jmp 0x14005e149
lea r15, [rcx + r14]
mov qword [rbp], r15
cmp rax, 0x10
jb 0x14005e133
mov r12, qword [rbp - 0x10]
jmp 0x14005e137
lea r12, [rbp - 0x10]
add rcx, r12
mov dl, 0x36
mov r8, r14
call fcn.1400c8de0
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 0x14005e1bb
mov byte [rsp + 0x20], 0x5c
lea rcx, [rbp - 0x30]
mov rdx, r14
mov r9, r14
call fcn.140011390
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14005e17e
mov rbx, qword [rbx]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14005e1a7
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x10]
mov rdx, r8
mov r9, rbx
call fcn.140008a00
jmp 0x14005e1ea
lea r14, [rcx + r8]
mov qword [rbp], r14
cmp rax, 0x10
jb 0x14005e1d6
mov r15, qword [rbp - 0x10]
jmp 0x14005e1da
lea r15, [rcx + r14]
mov qword [rbp - 0x20], r15
cmp rax, 0x10
jb 0x14005e38f
mov r12, qword [rbp - 0x30]
jmp 0x14005e393
lea r15, [rbp - 0x10]
add rcx, r15
mov rdx, rbx
call fcn.1400c91a0
mov byte [r15 + r14], 0
lea rbx, [rbp - 0x50]
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140087c40
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
jb 0x14005e209
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 0x14005e23c
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x30]
mov rdx, r8
mov r9, rbx
call fcn.140008a00
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jae 0x14005e26e
jmp 0x14005e2a3
lea r14, [rcx + r8]
mov qword [rbp - 0x20], r14
cmp rax, 0x10
jb 0x14005e250
mov r15, qword [rbp - 0x30]
jmp 0x14005e254
lea r15, [rbp - 0x30]
add rcx, r15
mov rdx, rbx
call fcn.1400c91a0
mov byte [r15 + r14], 0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x14005e2a3
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005e29e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005e3c3
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.140087c40
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x14005e2ee
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005e2e9
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005e3c8
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x14005e32d
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005e328
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005e3cd
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x14005e367
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005e362
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005e3d2
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], setsockopt
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.1400c8de0
mov byte [r12 + r15], 0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jae 0x14005e17b
jmp 0x14005e17e
call fcn.140004740
call fcn.140004740
call fcn.1400a4324
call fcn.1400a4324
call fcn.1400a4324
call fcn.1400a4324
call fcn.1400a4324
call fcn.1400a4324
int3