Function at 0x140015150
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x14024fa28]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov eax, 0xffffffff
mov rbp, r8
mov r14, rdx
mov rbx, rcx
cmp qword [rcx + 0x40], rax
je 0x14001518d
xor r8d, r8d
xor edx, edx
call fcn.140015020
lea rdi, [rbx + 0x48]
mov rcx, rdi
call fcn.1401574f0
mov rcx, rdi
call fcn.140157610
movdqa xmm2, xmmword [0x140210e30]
mov r8d, 0x40
movdqa xmm1, xmm2
mov rdx, rbx
mov rcx, rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x38], xmm0
mov eax, dword [rax + 0x10]
movdqu xmm0, xmmword [rbx]
mov dword [rsp + 0x48], eax
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
movdqu xmm0, xmmword [rbx + 0x10]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbx + 0x10], xmm1
movdqu xmm0, xmmword [rbx + 0x20]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbx + 0x20], xmm1
movdqu xmm0, xmmword [rbx + 0x30]
pxor xmm2, xmm0
movdqu xmmword [rbx + 0x30], xmm2
mov dword [rdi], 0x67452301
mov dword [rdi + 4], 0xefcdab89
mov dword [rdi + 8], 0x98badcfe
mov dword [rdi + 0xc], 0x10325476
mov dword [rdi + 0x10], 0xc3d2e1f0
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], 0
call fcn.140157410
mov rsi, qword [rdi + 0x18]
lea rcx, [rdi + 0x28]
mov ebx, reloc.WS2_32.dll_sendto
lea rdx, [rsp + 0x38]
mov r15d, 0x40
sub r15, rsi
cmp r15, rbx
cmova r15, rbx
add rcx, rsi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
sub rbx, r15
add rsi, r15
mov qword [rsp + 0x28], rbx
cmp rsi, 0x40
jae 0x140015281
mov qword [rdi + 0x18], rsi
jmp 0x1400152ec
lea rsi, [rdi + 0x28]
mov qword [rsp + 0x30], 0x40
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1401561e0
lea rax, [rsp + 0x38]
mov rcx, rdi
add rax, r15
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1401561e0
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x1400152e4
mov rdx, qword [rsp + 0x20]
mov r8, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 0x18], rbx
jmp 0x1400152ec
mov qword [rdi + 0x18], 0
mov rcx, rdi
call fcn.1401574f0
movzx eax, byte [rdi + 3]
mov byte [rdi + 0x28], al
movzx eax, byte [rdi + 2]
mov byte [rdi + 0x29], al
mov eax, dword [rdi]
shr eax, 8
mov byte [rdi + 0x2a], al
movzx eax, byte [rdi]
mov byte [rdi + 0x2b], al
movzx eax, byte [rdi + 7]
mov byte [rdi + 0x2c], al
movzx eax, byte [rdi + 6]
mov byte [rdi + 0x2d], al
mov eax, dword [rdi + 4]
shr eax, 8
mov byte [rdi + 0x2e], al
movzx eax, byte [rdi + 4]
mov byte [rdi + 0x2f], al
movzx eax, byte [rdi + 0xb]
mov byte [rdi + 0x30], al
movzx eax, byte [rdi + 0xa]
mov byte [rdi + 0x31], al
mov eax, dword [rdi + 8]
shr eax, 8
mov byte [rdi + 0x32], al
movzx eax, byte [rdi + 8]
mov byte [rdi + 0x33], al
movzx eax, byte [rdi + 0xf]
mov byte [rdi + 0x34], al
movzx eax, byte [rdi + 0xe]
mov byte [rdi + 0x35], al
mov eax, dword [rdi + 0xc]
shr eax, 8
mov byte [rdi + 0x36], al
movzx eax, byte [rdi + 0xc]
mov byte [rdi + 0x37], al
movzx eax, byte [rdi + 0x13]
mov byte [rdi + 0x38], al
movzx eax, byte [rdi + 0x12]
mov byte [rdi + 0x39], al
mov eax, dword [rdi + 0x10]
shr eax, 8
mov byte [rdi + 0x3a], al
movzx eax, byte [rdi + 0x10]
mov byte [rdi + 0x3b], al
mov eax, dword [rdi + 0x38]
mov dword [rsp + 0x48], eax
movups xmm0, xmmword [rdi + 0x28]
movups xmmword [rsp + 0x38], xmm0
test rbp, rbp
je 0x1400153ad
mov r8, rbp
lea rdx, [rsp + 0x38]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401c5190
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret