Function at 0x1400ed800
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha1
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x20
mov r14d, r9d
mov r9, r8
mov rbx, rcx
test rcx, rcx
je 0x1400ed86b
test r8, r8
jne 0x1400ed836
test r14d, r14d
jne 0x1400ed86b
lea eax, [rdx - 3]
cmp eax, 5
jbe 0x1400ed846
lea eax, [rdx - 0xa]
cmp eax, 3
ja 0x1400ed86b
mov byte [rcx + 0x120], dl
mov byte [rcx + 0x121], 0
sub edx, 3
je 0x1400ed8d6
sub edx, 1
je 0x1400ed8cf
xor esi, esi
cmp edx, 2
je 0x1400ed88f
mov qword [rcx + 0x118], rsi
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r13
ret
mov qword [rcx + 0x70], rsi
mov dword [rcx], 0x6a09e667
mov dword [rcx + 4], 0xbb67ae85
mov dword [rcx + 8], 0x3c6ef372
mov dword [rcx + 0xc], 0xa54ff53a
mov dword [rcx + 0x10], 0x510e527f
mov dword [rcx + 0x14], 0x9b05688c
mov dword [rcx + 0x18], 0x1f83d9ab
mov dword [rcx + 0x1c], 0x5be0cd19
mov dword [rcx + 0x68], esi
jmp 0x1400ed8fa
mov dword [rcx + 0x5c], 0xc3d2e1f0
xor esi, esi
mov dword [rcx + 8], esi
mov qword [rcx], rsi
mov dword [rcx + 0x58], 0x10325476
mov dword [rcx + 0x54], 0x98badcfe
mov dword [rcx + 0x50], 0xefcdab89
mov dword [rcx + 0x4c], 0x67452301
mov qword [rcx + 0x60], rsi
lea rdi, [rcx + 0x78]
mov qword [rcx + 0x118], rsi
lea r13, [rcx + 0xb8]
movzx ecx, byte [rcx + 0x120]
mov ebp, esi
mov r15d, 0x40
sub ecx, 3
je 0x1400ed9ca
sub ecx, 1
je 0x1400ed988
cmp ecx, 2
jne 0x1400ed86b
cmp r14d, r15d
ja 0x1400ed949
test r9, r9
jne 0x1400ed9d4
jmp 0x1400ed9e2
test r9, r9
je 0x1400edbac
mov r8d, r14d
mov rdx, r9
mov rcx, rbx
call fcn.1400ee950
mov ebp, eax
test eax, eax
jne 0x1400edbb1
mov rdx, rdi
mov rcx, rbx
call fcn.1400ef3c0
mov ebp, eax
test eax, eax
jne 0x1400edbb1
lea r14d, [rax + 0x20]
jmp 0x1400edac2
cmp r14d, r15d
ja 0x1400ed994
test r9, r9
jne 0x1400ed9d4
jmp 0x1400ed9e2
mov r8d, r14d
mov rdx, r9
mov rcx, rbx
call fcn.1400ebd30
mov ebp, eax
test eax, eax
jne 0x1400edbb1
mov rdx, rdi
mov rcx, rbx
call fcn.1400ec230
mov ebp, eax
test eax, eax
jne 0x1400edbb1
lea r14d, [rax + 0x14]
jmp 0x1400edac2
cmp r14d, r15d
ja 0x1400ed9f0
test r9, r9
je 0x1400ed9e2
mov r8, r14
mov rdx, r9
mov rcx, rdi
call fcn.14016a6b0
cmp r14d, r15d
jae 0x1400edad5
jmp 0x1400edac2
mov r8d, r14d
mov rdx, r9
mov rcx, rbx
call fcn.1400f1d60
mov ebp, eax
test eax, eax
jne 0x1400edbb1
test rdi, rdi
je 0x1400edbac
mov eax, dword [rbx]
lea rbp, [rbx + 0xc]
mov byte [rax + rbp], 0x80
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
cmp ecx, 0x38
jbe 0x1400eda48
mov r8d, r15d
xor edx, edx
sub r8d, ecx
add rcx, rbp
call fcn.14016ad60
mov rdx, rbp
mov dword [rbx], r15d
mov rcx, rbx
call fcn.1400f1570
mov ecx, esi
mov dword [rbx], esi
mov r8d, gethostname
xor edx, edx
sub r8d, ecx
add rcx, rbp
call fcn.14016ad60
mov r8d, dword [rbx + 4]
mov rdx, rbp
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 [rbp + 0x38], eax
mov eax, dword [rbx + 8]
mov dword [rbp + 0x3c], eax
call fcn.1400f1570
movups xmm0, xmmword [rbx + 0x4c]
mov ebp, esi
mov r14d, 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], esi
mov r8d, r15d
mov ecx, r14d
sub r8d, r14d
add rcx, rdi
xor edx, edx
call fcn.14016ad60
lea rax, [r13 + 0x3f]
lea rcx, [rbx + 0xb7]
cmp rdi, rax
ja 0x1400edb0d
cmp rcx, r13
jb 0x1400edb0d
nop word [rax + rax]
movzx eax, byte [rdi]
lea rdi, [rdi + 1]
xor al, 0x5c
mov byte [rdi + 0x3f], al
xor byte [rdi - 1], 0x36
sub r15, 1
jne 0x1400edaf0
mov eax, ebp
jmp 0x1400ed870
movdqu xmm2, xmmword [rdi]
movdqa xmm4, xmmword [0x14099db30]
movdqa xmm3, xmmword [0x14099de60]
movdqa xmm1, xmm4
pxor xmm1, xmm2
movdqa xmm0, xmm3
movdqu xmmword [rdi], xmm1
pxor xmm0, xmm2
movdqa xmm1, xmm4
movdqu xmm2, xmmword [rbx + 0x88]
movdqu xmmword [r13], xmm0
pxor xmm1, xmm2
movdqa xmm0, xmm3
movdqu xmmword [rbx + 0x88], xmm1
pxor xmm0, xmm2
movdqa xmm1, xmm4
movdqu xmm2, xmmword [rbx + 0x98]
movdqu xmmword [r13 + 0x10], xmm0
movdqa xmm0, xmm3
pxor xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [r13 + 0x20], xmm0
movdqu xmmword [rbx + 0x98], xmm1
movdqu xmm0, xmmword [rbx + 0xa8]
pxor xmm3, xmm0
pxor xmm4, xmm0
movdqu xmmword [r13 + 0x30], xmm3
movdqu xmmword [rbx + 0xa8], xmm4
mov eax, ebp
jmp 0x1400ed870
mov ebp, 0xffffff53
mov eax, ebp
jmp 0x1400ed870