Function at 0x1400d37e0
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.0x1400d39c5.5
test r8, r8
jne 0x1400d3819
test r9d, r9d
jne case.0x1400d39c5.5
lea eax, [rdx - 3]
cmp eax, 5
jbe 0x1400d382d
lea eax, [rdx - 0xa]
cmp eax, 3
ja case.0x1400d39c5.5
mov byte [rcx + 0x308], dl
add edx, 0xfffffffd
mov byte [rcx + 0x309], 0
cmp edx, 0xa
ja case.0x1400d385b.5
lea r8, [0x140000000]
movsxd rax, edx
mov ecx, dword [r8 + rax*4 + 0xd4068]
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 0x1400d3983
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 0x1400d3983
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 0x1400d3983
xor edx, edx
mov rcx, rsi
call fcn.140136e40
jmp 0x1400d3920
xor edx, edx
mov rcx, rsi
call fcn.140136d90
xor r14d, r14d
mov ebx, eax
mov qword [rsi + 0x300], r14
test eax, eax
je 0x1400d398d
jmp 0x1400d404e
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.0x1400d39c5.5
cdqe
mov edi, 0x20
mov ecx, dword [r8 + rax*4 + 0xd4094]
add rcx, r8
jmp rcx
mov r13d, 0x40
mov dword [rsp + 0x80], r13d
cmp r12d, r13d
ja 0x1400d39f6
test rbp, rbp
je 0x1400d3ee9
mov r8, r12
mov rdx, rbp
mov rcx, r15
call fcn.14014dae0
jmp 0x1400d3ee9
mov dword [rsp + 0x30], r12d
mov ebx, r14d
test rbp, rbp
je 0x1400d402d
mov edx, dword [rsi]
cmp edx, r13d
jb 0x1400d3a1a
mov ebx, 0xffffff7c
mov eax, ebx
jmp 0x1400d404e
mov ecx, dword [rsi + 4]
lea eax, [rcx + r12]
mov dword [rsi + 4], eax
cmp eax, ecx
jae 0x1400d3a2b
inc dword [rsi + 8]
lea rax, [rsi + 0xc]
test edx, edx
je 0x1400d3a89
sub r13d, edx
lea rcx, [rax + rdx]
cmp r12d, r13d
mov rdx, rbp
cmovb r13d, r12d
mov r8d, r13d
mov edi, r13d
call fcn.14014dae0
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 0x1400d3a84
mov rdx, rdi
mov rcx, rsi
call fcn.140141660
mov ebx, eax
test eax, eax
jne 0x1400d4032
mov eax, dword [rsp + 0x30]
mov dword [rsi], r14d
cmp eax, 0x40
jb 0x1400d3af8
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.140141660
mov ebx, eax
sub rdi, 1
jne 0x1400d3aa0
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 0x1400d3b10
mov r8d, eax
mov rdx, rbp
mov rcx, rdi
call fcn.14014dae0
mov eax, dword [rsp + 0x30]
mov dword [rsi], eax
test ebx, ebx
jne 0x1400d4032
mov rdx, r15
mov rcx, rsi
call fcn.140141ea0
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
lea r13d, [rax + 0x10]
jmp 0x1400d3ef6
mov dword [rsp + 0x80], 0x40
cmp r12d, 0x40
jbe 0x1400d39da
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.140132280
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
mov rdx, r15
mov rcx, rsi
call fcn.140132720
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
lea r13d, [rax + 0x14]
jmp 0x1400d3ef6
mov dword [rsp + 0x80], 0x40
cmp r12d, 0x40
jbe 0x1400d39da
test rbp, rbp
je 0x1400d402d
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.14013bb20
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
mov rdx, r15
mov rcx, rsi
call fcn.14013c850
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
mov r13d, edi
jmp 0x1400d3ef6
mov dword [rsp + 0x80], 0x80
cmp r12d, 0x80
jbe 0x1400d39da
test rbp, rbp
je 0x1400d402d
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.140134cd0
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
test r15, r15
je 0x1400d402d
mov rcx, rsi
call fcn.140134b90
mov ebx, eax
test eax, eax
jne 0x1400d4032
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.140134a10
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
lea r13d, [rax + 0x30]
jmp 0x1400d3ef6
mov dword [rsp + 0x80], 0x80
cmp r12d, 0x80
jbe 0x1400d39da
test rbp, rbp
je 0x1400d402d
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.140134cd0
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
test r15, r15
je 0x1400d402d
mov rcx, rsi
call fcn.140134b90
mov ebx, eax
test eax, eax
jne 0x1400d4032
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.1401360f0
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
lea r13d, [rax + 0x40]
jmp 0x1400d3ef6
mov r13d, 0x90
mov dword [rsp + 0x80], r13d
cmp r12d, r13d
jbe 0x1400d39da
test rbp, rbp
je 0x1400d402d
mov r9b, reloc.WS2_32.dll_select
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400e0890
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
test r15, r15
je 0x1400d402d
lea r13d, [rax + 0x1c]
mov r9b, reloc.WS2_32.dll_select
jmp 0x1400d3e7e
mov r13d, 0x88
mov dword [rsp + 0x80], r13d
cmp r12d, r13d
jbe 0x1400d39da
test rbp, rbp
je 0x1400d402d
mov r9b, send
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400e0890
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
test r15, r15
je 0x1400d402d
mov r9b, send
mov dword [rsp + 0x20], edi
mov r8, r15
mov rcx, rsi
call fcn.1400e0770
mov ebx, eax
test eax, eax
jne 0x1400d4032
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 0x1400d3ef6
mov dword [rsp + 0x80], WSAGetLastError
cmp r12d, 0x68
jbe 0x1400d39da
test rbp, rbp
je 0x1400d402d
mov r9b, 0xd
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400e0890
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
test r15, r15
je 0x1400d402d
lea r13d, [rax + 0x30]
mov r9b, 0xd
jmp 0x1400d3e7e
mov dword [rsp + 0x80], 0x48
cmp r12d, 0x48
jbe 0x1400d39da
test rbp, rbp
je 0x1400d402d
mov r9b, 9
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call fcn.1400e0890
mov ebx, eax
test eax, eax
jne 0x1400d3ee1
test r15, r15
je 0x1400d402d
mov r13d, 0x40
mov r9b, 9
mov r8, r15
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.1400e0770
mov ebx, eax
test eax, eax
jne 0x1400d4032
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 0x1400d3ef6
test ebx, ebx
jne 0x1400d4032
mov r13d, r12d
cmp r12d, dword [rsp + 0x80]
jae 0x1400d3f0e
mov r8d, dword [rsp + 0x80]
xor edx, edx
mov ecx, r13d
sub r8d, r13d
add rcx, r15
call fcn.14014e180
mov r13d, dword [rsp + 0x80]
test r13d, r13d
je 0x1400d4032
cmp r13d, 0x40
jb 0x1400d3ff7
mov r9, qword [rsp + 0x38]
lea eax, [r13 - 1]
lea rdx, [rax + r15]
add rax, r9
cmp r15, rax
ja 0x1400d3f47
cmp rdx, r9
jae 0x1400d3ff7
mov edx, r13d
and edx, 0xffffffc0
movdqa xmm2, xmmword [0x1401d6410]
mov r8d, 0x20
movdqa xmm3, xmmword [0x1401d63e0]
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 0x1400d3f63
cmp r14d, r13d
jae 0x1400d4032
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 0x1400d4010
mov eax, ebx
jmp 0x1400d404e
mov ebx, 0xffffff53
mov eax, ebx
jmp 0x1400d404e
mov ebx, 0xffffff53
xor r14d, r14d
mov qword [rsi + 0x300], r14
mov eax, ebx
jmp 0x1400d404e
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