Function at 0x1400d28f0
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha1
Hash data using sha256
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12d, r9d
mov rbp, r8
mov rsi, rcx
test rcx, rcx
je case.0x1400d2ad5.5
test r8, r8
jne 0x1400d2929
test r9d, r9d
jne case.0x1400d2ad5.5
lea eax, [rdx - 3]
cmp eax, 5
jbe 0x1400d293d
lea eax, [rdx - 0xa]
cmp eax, 3
ja case.0x1400d2ad5.5
mov byte [rcx + 0x308], dl
add edx, 0xfffffffd
mov byte [rcx + 0x309], 0
cmp edx, 0xa
ja case.0x1400d296b.5
lea r8, [0x140000000]
movsxd rax, edx
mov ecx, dword [r8 + rax*4 + 0xd3178]
add rcx, r8
jmp rcx
xor r14d, r14d
mov dword [rsi + 0x4c], 0x67452301
mov qword [rsi + 0x60], r14
mov qword [rsi], r14
mov dword [rsi + 8], r14d
mov dword [rsi + 0x50], 0xefcdab89
mov dword [rsi + 0x54], 0x98badcfe
mov dword [rsi + 0x58], 0x10325476
jmp 0x1400d2a93
xor r14d, r14d
mov dword [rsi + 0x4c], 0x67452301
mov qword [rsi + 0x60], r14
mov qword [rsi], r14
mov dword [rsi + 8], r14d
mov dword [rsi + 0x50], 0xefcdab89
mov dword [rsi + 0x54], 0x98badcfe
mov dword [rsi + 0x58], 0x10325476
mov dword [rsi + 0x5c], 0xc3d2e1f0
jmp 0x1400d2a93
xor r14d, r14d
mov dword [rsi], 0x6a09e667
mov qword [rsi + 0x60], r14
mov dword [rsi + 0x68], r14d
mov qword [rsi + 0x70], r14
mov dword [rsi + 4], 0xbb67ae85
mov dword [rsi + 8], 0x3c6ef372
mov dword [rsi + 0xc], 0xa54ff53a
mov dword [rsi + 0x10], 0x510e527f
mov dword [rsi + 0x14], 0x9b05688c
mov dword [rsi + 0x18], 0x1f83d9ab
mov dword [rsi + 0x1c], 0x5be0cd19
jmp 0x1400d2a93
xor edx, edx
mov rcx, rsi
call fcn.140135f50
jmp 0x1400d2a30
xor edx, edx
mov rcx, rsi
call fcn.140135ea0
xor r14d, r14d
mov ebx, eax
mov qword [rsi + 0x300], r14
test eax, eax
je 0x1400d2a9d
jmp 0x1400d315e
xorps xmm0, xmm0
lea rax, [rsi + 0x80]
xor r14d, r14d
mov qword [rsi + 0x198], r14
xor ecx, ecx
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm0
movups xmmword [rax - 0x10], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov qword [rax + 0x40], rcx
mov byte [rsi + 0x190], cl
mov qword [rsi + 0x300], r14
mov ebx, r14d
lea rax, [rsi + 0x230]
mov qword [rsp + 0x38], rax
lea r15, [rsi + 0x1a0]
movzx eax, byte [rsi + 0x308]
add eax, 0xfffffffd
cmp eax, 0xa
ja case.0x1400d2ad5.5
cdqe
mov edi, 0x20
mov ecx, dword [r8 + rax*4 + 0xd31a4]
add rcx, r8
jmp rcx
mov r13d, 0x40
mov dword [rsp + 0x80], r13d
cmp r12d, r13d
ja 0x1400d2b06
test rbp, rbp
je 0x1400d2ff9
mov r8, r12
mov rdx, rbp
mov rcx, r15
call fcn.14014cbf0
jmp 0x1400d2ff9
mov dword [rsp + 0x30], r12d
mov ebx, r14d
test rbp, rbp
je 0x1400d313d
mov edx, dword [rsi]
cmp edx, r13d
jb 0x1400d2b2a
mov ebx, 0xffffff7c
mov eax, ebx
jmp 0x1400d315e
mov ecx, dword [rsi + 4]
lea eax, [rcx + r12]
mov dword [rsi + 4], eax
cmp eax, ecx
jae 0x1400d2b3b
inc dword [rsi + 8]
lea rax, [rsi + 0xc]
test edx, edx
je 0x1400d2b99
sub r13d, edx
lea rcx, [rax + rdx]
cmp r12d, r13d
mov rdx, rbp
cmovb r13d, r12d
mov r8d, r13d
mov edi, r13d
call fcn.14014cbf0
add dword [rsi], r13d
add rbp, rdi
mov eax, r12d
lea rdi, [rsi + 0xc]
sub eax, r13d
cmp dword [rsi], 0x40
mov dword [rsp + 0x30], eax
jne 0x1400d2b94
mov rdx, rdi
mov rcx, rsi
call fcn.140140770
mov ebx, eax
test eax, eax
jne 0x1400d3142
mov eax, dword [rsp + 0x30]
mov dword [rsi], r14d
cmp eax, 0x40
jb 0x1400d2c08
mov r12d, dword [rsp + 0x30]
mov edi, r12d
shr rdi, 6
nop word [rax + rax]
movups xmm0, xmmword [rbp]
lea rdx, [rsi + 0xc]
mov rcx, rsi
add r12d, 0xffffffc0
movups xmmword [rsi + 0xc], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rsi + 0x1c], xmm1
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rsi + 0x2c], xmm0
movups xmm1, xmmword [rbp + 0x30]
add rbp, 0x40
movups xmmword [rsi + 0x3c], xmm1
call fcn.140140770
mov ebx, eax
sub rdi, 1
jne 0x1400d2bb0
mov dword [rsp + 0x30], r12d
lea r15, [rsi + 0x1a0]
mov eax, dword [rsp + 0x30]
lea rdi, [rsi + 0xc]
mov r12d, dword [rsp + 0x98]
test eax, eax
je 0x1400d2c20
mov r8d, eax
mov rdx, rbp
mov rcx, rdi
call fcn.14014cbf0
mov eax, dword [rsp + 0x30]
mov dword [rsi], eax
test ebx, ebx
jne 0x1400d3142
mov rdx, r15
mov rcx, rsi
call fcn.140140fb0
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
lea r13d, [rax + 0x10]
jmp 0x1400d3006
mov dword [rsp + 0x80], 0x40
cmp r12d, 0x40
jbe 0x1400d2aea
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.140131390
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
mov rdx, r15
mov rcx, rsi
call fcn.140131830
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
lea r13d, [rax + 0x14]
jmp 0x1400d3006
mov dword [rsp + 0x80], 0x40
cmp r12d, 0x40
jbe 0x1400d2aea
test rbp, rbp
je 0x1400d313d
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.14013ac30
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
mov rdx, r15
mov rcx, rsi
call fcn.14013b960
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
mov r13d, edi
jmp 0x1400d3006
mov dword [rsp + 0x80], 0x80
cmp r12d, 0x80
jbe 0x1400d2aea
test rbp, rbp
je 0x1400d313d
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.140133de0
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
test r15, r15
je 0x1400d313d
mov rcx, rsi
call fcn.140133ca0
mov ebx, eax
test eax, eax
jne 0x1400d3142
movups xmm0, xmmword [rsi]
mov rcx, rsi
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [r15 + 0x20], xmm0
call fcn.140133b20
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
lea r13d, [rax + 0x30]
jmp 0x1400d3006
mov dword [rsp + 0x80], 0x80
cmp r12d, 0x80
jbe 0x1400d2aea
test rbp, rbp
je 0x1400d313d
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.140133de0
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
test r15, r15
je 0x1400d313d
mov rcx, rsi
call fcn.140133ca0
mov ebx, eax
test eax, eax
jne 0x1400d3142
movups xmm0, xmmword [rsi]
mov rcx, rsi
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [r15 + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [r15 + 0x30], xmm1
call fcn.140135200
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
lea r13d, [rax + 0x40]
jmp 0x1400d3006
mov r13d, 0x90
mov dword [rsp + 0x80], r13d
cmp r12d, r13d
jbe 0x1400d2aea
test rbp, rbp
je 0x1400d313d
mov r9b, reloc.WS2_32.dll_select
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400df9a0
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
test r15, r15
je 0x1400d313d
lea r13d, [rax + 0x1c]
mov r9b, reloc.WS2_32.dll_select
jmp 0x1400d2f8e
mov r13d, 0x88
mov dword [rsp + 0x80], r13d
cmp r12d, r13d
jbe 0x1400d2aea
test rbp, rbp
je 0x1400d313d
mov r9b, send
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400df9a0
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
test r15, r15
je 0x1400d313d
mov r9b, send
mov dword [rsp + 0x20], edi
mov r8, r15
mov rcx, rsi
call fcn.1400df880
mov ebx, eax
test eax, eax
jne 0x1400d3142
xorps xmm0, xmm0
lea rax, [rsi + 0x80]
movups xmmword [rsi], xmm0
xor ecx, ecx
mov ebx, r14d
movups xmmword [rsi + 0x10], xmm0
mov r13d, edi
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm0
movups xmmword [rax - 0x10], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov qword [rax + 0x40], rcx
mov byte [rsi + 0x190], cl
jmp 0x1400d3006
mov dword [rsp + 0x80], WSAGetLastError
cmp r12d, 0x68
jbe 0x1400d2aea
test rbp, rbp
je 0x1400d313d
mov r9b, 0xd
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400df9a0
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
test r15, r15
je 0x1400d313d
lea r13d, [rax + 0x30]
mov r9b, 0xd
jmp 0x1400d2f8e
mov dword [rsp + 0x80], 0x48
cmp r12d, 0x48
jbe 0x1400d2aea
test rbp, rbp
je 0x1400d313d
mov r9b, 9
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400df9a0
mov ebx, eax
test eax, eax
jne 0x1400d2ff1
test r15, r15
je 0x1400d313d
mov r13d, 0x40
mov r9b, 9
mov r8, r15
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.1400df880
mov ebx, eax
test eax, eax
jne 0x1400d3142
xorps xmm0, xmm0
lea rax, [rsi + 0x80]
movups xmmword [rsi], xmm0
xor ecx, ecx
mov ebx, r14d
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm0
movups xmmword [rax - 0x10], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov qword [rax + 0x40], rcx
mov byte [rsi + 0x190], cl
jmp 0x1400d3006
test ebx, ebx
jne 0x1400d3142
mov r13d, r12d
cmp r12d, dword [rsp + 0x80]
jae 0x1400d301e
mov r8d, dword [rsp + 0x80]
xor edx, edx
mov ecx, r13d
sub r8d, r13d
add rcx, r15
call fcn.14014d290
mov r13d, dword [rsp + 0x80]
test r13d, r13d
je 0x1400d3142
cmp r13d, 0x40
jb 0x1400d3107
mov r9, qword [rsp + 0x38]
lea eax, [r13 - 1]
lea rdx, [rax + r15]
add rax, r9
cmp r15, rax
ja 0x1400d3057
cmp rdx, r9
jae 0x1400d3107
mov edx, r13d
and edx, 0xffffffc0
movdqa xmm2, xmmword [0x1401d52c0]
mov r8d, 0x20
movdqa xmm3, xmmword [0x1401d5290]
mov eax, r14d
add r14d, 0x40
movdqu xmm1, xmmword [rax + r15]
movdqa xmm0, xmm1
xorps xmm1, xmm3
movdqu xmmword [rax + r15], xmm1
xorps xmm0, xmm2
movdqu xmmword [rax + r9], xmm0
lea eax, [r8 - 0x10]
movdqu xmm1, xmmword [rax + r15]
movdqa xmm0, xmm1
xorps xmm1, xmm3
movdqu xmmword [rax + r15], xmm1
xorps xmm0, xmm2
movdqu xmmword [rax + r9], xmm0
mov eax, r8d
movdqu xmm1, xmmword [rax + r15]
movdqa xmm0, xmm1
xorps xmm1, xmm3
movdqu xmmword [rax + r15], xmm1
xorps xmm0, xmm2
movdqu xmmword [rax + r9], xmm0
lea eax, [r8 + 0x10]
add r8d, 0x40
movdqu xmm1, xmmword [rax + r15]
movdqa xmm0, xmm1
xorps xmm1, xmm3
xorps xmm0, xmm2
movdqu xmmword [rax + r9], xmm0
movdqu xmmword [rax + r15], xmm1
cmp r14d, edx
jb 0x1400d3073
cmp r14d, r13d
jae 0x1400d3142
mov ecx, r14d
add rcx, r15
sub r13d, r14d
mov edx, r13d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
xor al, 0x5c
mov byte [rcx + 0x8f], al
xor byte [rcx - 1], 0x36
sub rdx, 1
jne 0x1400d3120
mov eax, ebx
jmp 0x1400d315e
mov ebx, 0xffffff53
mov eax, ebx
jmp 0x1400d315e
mov ebx, 0xffffff53
xor r14d, r14d
mov qword [rsi + 0x300], r14
mov eax, ebx
jmp 0x1400d315e
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret