Function at 0x1400da740
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha1
Hash data using sha256
Hash data using sha384
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r14d, r9d
mov r10, r8
mov rbx, rcx
test rcx, rcx
je 0x1400da833
test r8, r8
jne 0x1400da77c
test r9d, r9d
jne 0x1400da833
lea eax, [rdx - 3]
cmp eax, 5
jbe 0x1400da790
lea eax, [rdx - 0xa]
cmp eax, 3
ja 0x1400da833
mov byte [rcx + 0x228], dl
movabs rax, 0x629a292a367cd507
mov byte [rcx + 0x229], 0
movabs rcx, 0x9159015a3070dd17
movabs rdi, 0xdb0c2e0d64f98fa7
movabs rsi, 0x47b5481dbefa4fa4
movabs r12, 0x6a09e667f3bcc908
movabs r13, 0xbb67ae8584caa73b
movabs r15, 0xcbbb9d5dc1059ed8
movabs r8, 0x152fecd8f70e5939
movabs r9, 0x67332667ffc00b31
movabs r11, 0x8eb44a8768581511
sub edx, 3
je 0x1400da957
sub edx, 1
je 0x1400da950
sub edx, 2
je 0x1400da90e
sub edx, 1
je 0x1400da8d0
xor ebp, ebp
cmp edx, 1
je 0x1400da855
mov qword [rbx + 0x220], rbp
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rbx + 0xd8], rbp
movabs rax, 0x3c6ef372fe94f82b
mov qword [rbx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rbx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rbx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rbx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rbx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rbx + 0x38], rax
mov qword [rbx], r12
mov qword [rbx + 8], r13
mov dword [rbx + 0xc0], ebp
mov qword [rbx + 0xc8], rbp
mov qword [rbx + 0xd0], rbp
jmp 0x1400da97f
xor ebp, ebp
mov qword [rbx + 0xd8], rbp
mov qword [rbx], r15
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], r8
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x28], r11
mov qword [rbx + 0x30], rdi
mov qword [rbx + 0x38], rsi
mov dword [rbx + 0xc0], ebp
mov qword [rbx + 0xc8], rbp
mov qword [rbx + 0xd0], rbp
jmp 0x1400da97f
xor ebp, ebp
mov qword [rbx + 0x70], rbp
mov dword [rbx], 0x6a09e667
mov dword [rbx + 4], 0xbb67ae85
mov dword [rbx + 8], 0x3c6ef372
mov dword [rbx + 0xc], 0xa54ff53a
mov dword [rbx + 0x10], 0x510e527f
mov dword [rbx + 0x14], 0x9b05688c
mov dword [rbx + 0x18], 0x1f83d9ab
mov dword [rbx + 0x1c], 0x5be0cd19
mov dword [rbx + 0x68], ebp
jmp 0x1400da97b
mov dword [rbx + 0x5c], 0xc3d2e1f0
xor ebp, ebp
mov dword [rbx + 8], ebp
mov qword [rbx], rbp
mov dword [rbx + 0x58], 0x10325476
mov dword [rbx + 0x54], 0x98badcfe
mov dword [rbx + 0x50], 0xefcdab89
mov dword [rbx + 0x4c], 0x67452301
mov qword [rbx + 0x60], rbp
movzx ecx, byte [rbx + 0x228]
lea rdi, [rbx + 0xe0]
mov qword [rbx + 0x220], rbp
mov esi, ebp
lea r12, [rbx + 0x160]
sub ecx, 3
je 0x1400dac57
sub ecx, 1
je 0x1400dac12
sub ecx, 2
je 0x1400dabc4
sub ecx, 1
je 0x1400daae7
cmp ecx, 1
jne 0x1400da833
mov r13d, 0x80
cmp r14d, r13d
ja 0x1400da9f1
test r10, r10
je 0x1400dad45
mov r8, r14
mov rdx, r10
mov rcx, rdi
call fcn.140195690
jmp 0x1400dad45
test r10, r10
je 0x1400daadb
mov r8d, r14d
mov rdx, r10
mov rcx, rbx
call fcn.1400da380
mov esi, eax
test eax, eax
jne 0x1400dad3d
test rdi, rdi
je 0x1400daadb
mov rcx, rbx
call fcn.1400da520
mov esi, eax
test eax, eax
jne 0x1400dae3f
movups xmm0, xmmword [rbx]
movabs rax, 0x6a09e667f3bcc908
mov esi, ebp
mov r15d, 0x40
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rdi + 0x30], xmm1
mov qword [rbx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rbx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rbx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rbx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rbx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rbx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rbx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rbx + 0x38], rax
mov dword [rbx + 0xc0], ebp
mov qword [rbx + 0xc8], rbp
mov qword [rbx + 0xd0], rbp
jmp 0x1400dad4d
mov esi, 0xffffff53
mov eax, esi
jmp 0x1400da838
mov r13d, 0x80
cmp r14d, r13d
jbe 0x1400da9d5
test r10, r10
je 0x1400daadb
mov r8d, r14d
mov rdx, r10
mov rcx, rbx
call fcn.1400da380
mov esi, eax
test eax, eax
jne 0x1400dad3d
test rdi, rdi
je 0x1400daadb
mov rcx, rbx
call fcn.1400da520
mov esi, eax
test eax, eax
jne 0x1400dae3f
movups xmm0, xmmword [rbx]
movabs rax, 0x629a292a367cd507
mov esi, ebp
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rdi + 0x20], xmm0
mov qword [rbx + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rbx + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rbx + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rbx + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rbx + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rbx + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rbx], r15
lea r15d, [r13 - 0x50]
mov qword [rbx + 0x38], rax
mov dword [rbx + 0xc0], ebp
mov qword [rbx + 0xc8], rbp
mov qword [rbx + 0xd0], rbp
jmp 0x1400dad4d
mov r13d, 0x40
cmp r14d, r13d
jbe 0x1400da9d5
test r10, r10
je 0x1400daadb
mov r8d, r14d
mov rdx, r10
mov rcx, rbx
call fcn.1400dc100
mov esi, eax
test eax, eax
jne 0x1400dad3d
mov rdx, rdi
mov rcx, rbx
call fcn.1400dcaa0
mov esi, eax
test eax, eax
jne 0x1400dad3d
lea r15d, [r13 - 0x20]
jmp 0x1400dad4d
mov r13d, 0x40
cmp r14d, r13d
jbe 0x1400da9d5
mov r8d, r14d
mov rdx, r10
mov rcx, rbx
call fcn.1400df1b0
mov esi, eax
test eax, eax
jne 0x1400dad3d
mov rdx, rdi
mov rcx, rbx
call fcn.1400df650
mov esi, eax
test eax, eax
jne 0x1400dad3d
lea r15d, [r13 - 0x2c]
jmp 0x1400dad4d
mov r15d, 0x40
mov r13d, r15d
cmp r14d, r15d
jbe 0x1400da9d5
mov r8d, r14d
mov rdx, r10
mov rcx, rbx
call fcn.1400ed720
mov esi, eax
test eax, eax
jne 0x1400dad3d
test rdi, rdi
je 0x1400daadb
mov eax, dword [rbx]
lea rsi, [rbx + 0xc]
mov byte [rax + rsi], 0x80
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
cmp ecx, 0x38
jbe 0x1400dacc1
mov r8d, r15d
xor edx, edx
sub r8d, ecx
add rcx, rsi
call fcn.140195d30
mov rdx, rsi
mov dword [rbx], r15d
mov rcx, rbx
call fcn.1400ecf30
mov ecx, ebp
mov dword [rbx], ebp
mov r8d, Ordinal_60
xor edx, edx
sub r8d, ecx
add rcx, rsi
call fcn.140195d30
mov r8d, dword [rbx + 4]
mov rdx, rsi
mov eax, dword [rbx + 8]
mov ecx, r8d
shr ecx, 0x1d
lea ecx, [rcx + rax*8]
mov dword [rbx + 8], ecx
lea eax, [r8*8]
mov dword [rbx + 4], eax
mov rcx, rbx
mov dword [rsi + 0x38], eax
mov eax, dword [rbx + 8]
mov dword [rsi + 0x3c], eax
call fcn.1400ecf30
movups xmm0, xmmword [rbx + 0x4c]
mov esi, ebp
mov r15d, reloc.WS2_32.dll_recv
movups xmmword [rdi], xmm0
mov dword [rbx + 0x4c], 0x67452301
mov dword [rbx + 0x50], 0xefcdab89
mov dword [rbx + 0x54], 0x98badcfe
mov dword [rbx + 0x58], 0x10325476
mov qword [rbx], 0
mov dword [rbx + 8], ebp
jmp 0x1400dad4d
test esi, esi
jne 0x1400dae3f
mov r15d, r14d
cmp r14d, r13d
jae 0x1400dad60
mov r8d, r13d
mov ecx, r15d
sub r8d, r15d
add rcx, rdi
xor edx, edx
call fcn.140195d30
lea eax, [r13 - 1]
lea rdx, [rax + rdi]
add rax, r12
cmp rdi, rax
ja 0x1400dadad
cmp rdx, r12
jb 0x1400dadad
cmp ebp, r13d
jae 0x1400dae3f
mov ecx, r13d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi]
lea rdi, [rdi + 1]
xor al, 0x5c
mov byte [rdi + 0x7f], al
xor byte [rdi - 1], 0x36
sub rcx, 1
jne 0x1400dad90
mov eax, esi
jmp 0x1400da838
movdqa xmm2, xmmword [0x140986590]
mov edx, reloc.WLDAP32.dll_Ordinal_32
movdqa xmm3, xmmword [0x140986420]
mov eax, ebp
movdqa xmm0, xmm2
add ebp, 0x40
movdqu xmm1, xmmword [rax + rdi]
xorps xmm0, xmm1
xorps xmm1, xmm3
movdqu xmmword [rax + rdi], xmm1
movdqu xmmword [rax + r12], xmm0
lea eax, [rdx - 0x10]
movdqa xmm0, xmm2
movdqu xmm1, xmmword [rax + rdi]
xorps xmm0, xmm1
xorps xmm1, xmm3
movdqu xmmword [rax + rdi], xmm1
movdqu xmmword [rax + r12], xmm0
mov eax, edx
movdqa xmm0, xmm2
movdqu xmm1, xmmword [rax + rdi]
xorps xmm0, xmm1
xorps xmm1, xmm3
movdqu xmmword [rax + rdi], xmm1
movdqu xmmword [rax + r12], xmm0
lea eax, [rdx + 0x10]
add edx, 0x40
movdqa xmm0, xmm2
movdqu xmm1, xmmword [rax + rdi]
xorps xmm0, xmm1
xorps xmm1, xmm3
movdqu xmmword [rax + rdi], xmm1
movdqu xmmword [rax + r12], xmm0
cmp ebp, r13d
jb 0x1400dadc2
mov eax, esi
jmp 0x1400da838