Function at 0x14005d7e0
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 0x14005d8ba
lea r14, [rbp - 0x10]
mov rcx, r14
mov rdx, rsi
call fcn.140080120
mov rax, qword [rsi + 0x18]
cmp r14, rsi
je 0x14005d87b
cmp rax, 0x10
jb 0x14005d86a
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005d865
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005dd64
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 0x14005d8b6
cmp rax, 0x10
jb 0x14005d8b6
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005d8b1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005dd69
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 0x14005dd46
cmp r14, 0xf
ja 0x14005d90f
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 0x14005d998
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r15d, socket
cmovae r15, rax
cmp r15, 0xfff
jb 0x14005d947
lea rcx, [r15 + 0x28]
call fcn.14009a7a0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14005d953
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 0x14005d97e
mov r15, qword [rsi]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
js 0x14005dd4b
cmp r14, 0xf
ja 0x14005da10
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], setsockopt
movups xmm0, xmmword [r15]
movaps xmmword [rbp - 0x30], xmm0
test r14, r14
je 0x14005da7d
lea rax, [rbp - 0x10]
xor r14d, r14d
lea rcx, [rbp - 0x30]
jmp 0x14005d9de
xor byte [rdx + r14], 0x5c
inc r14
cmp r14, qword [rsi + 0x10]
je 0x14005da01
cmp qword [rbp + 8], 0x10
mov rdx, rax
jb 0x14005d9ec
mov rdx, qword [rbp - 0x10]
xor byte [rdx + r14], 0x36
cmp qword [rbp - 0x18], 0x10
mov rdx, rcx
jb 0x14005d9d0
mov rdx, qword [rbp - 0x30]
jmp 0x14005d9d0
sub r14, 0x40
je 0x14005dafd
neg r14
jmp 0x14005da83
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov r12d, socket
cmovae r12, rax
cmp r12, 0xfff
jb 0x14005da49
lea rcx, [r12 + 0x28]
call fcn.14009a7a0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14005da56
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 0x14005d9b5
mov r14d, 0x40
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r14
jae 0x14005daac
mov byte [rsp + 0x20], 0x36
lea rcx, [rbp - 0x10]
mov rdx, r14
mov r9, r14
call fcn.140011390
jmp 0x14005dad6
lea r15, [rcx + r14]
mov qword [rbp], r15
cmp rax, 0x10
jb 0x14005dac0
mov r12, qword [rbp - 0x10]
jmp 0x14005dac4
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 0x14005db48
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 0x14005db0b
mov rbx, qword [rbx]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14005db34
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x10]
mov rdx, r8
mov r9, rbx
call fcn.140008a00
jmp 0x14005db77
lea r14, [rcx + r8]
mov qword [rbp], r14
cmp rax, 0x10
jb 0x14005db63
mov r15, qword [rbp - 0x10]
jmp 0x14005db67
lea r15, [rcx + r14]
mov qword [rbp - 0x20], r15
cmp rax, 0x10
jb 0x14005dd1c
mov r12, qword [rbp - 0x30]
jmp 0x14005dd20
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.140080120
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
jb 0x14005db96
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 0x14005dbc9
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 0x14005dbfb
jmp 0x14005dc30
lea r14, [rcx + r8]
mov qword [rbp - 0x20], r14
cmp rax, 0x10
jb 0x14005dbdd
mov r15, qword [rbp - 0x30]
jmp 0x14005dbe1
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 0x14005dc30
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005dc2b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005dd50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.140080120
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x14005dc7b
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005dc76
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005dd55
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x14005dcba
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005dcb5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005dd5a
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14009a7e4
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x14005dcf4
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14005dcef
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14005dd5f
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 0x14005db08
jmp 0x14005db0b
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