Function at 0x140048130
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r14, rcx
mov ecx, dword [rcx + 0x28]
call fcn.14012b090
mov dword [r14 + 0x28], eax
mov ecx, dword [r14 + 0x2c]
call fcn.14012b090
mov dword [r14 + 0x2c], eax
mov ecx, dword [r14 + 0x30]
call fcn.14012b090
mov dword [r14 + 0x30], eax
mov ecx, dword [r14 + 0x34]
call fcn.14012b090
mov dword [r14 + 0x34], eax
mov ecx, dword [r14 + 0x38]
call fcn.14012b090
mov dword [r14 + 0x38], eax
mov ecx, dword [r14 + 0x3c]
call fcn.14012b090
mov dword [r14 + 0x3c], eax
mov ecx, dword [r14 + 0x40]
call fcn.14012b090
mov dword [r14 + 0x40], eax
mov ecx, dword [r14 + 0x44]
call fcn.14012b090
mov dword [r14 + 0x44], eax
mov ecx, dword [r14 + 0x48]
call fcn.14012b090
mov dword [r14 + 0x48], eax
mov ecx, dword [r14 + 0x4c]
call fcn.14012b090
mov dword [r14 + 0x4c], eax
mov ecx, dword [r14 + 0x50]
call fcn.14012b090
mov dword [r14 + 0x50], eax
mov ecx, dword [r14 + 0x54]
call fcn.14012b090
mov dword [r14 + 0x54], eax
mov ecx, dword [r14 + 0x58]
call fcn.14012b090
mov dword [r14 + 0x58], eax
mov ecx, dword [r14 + 0x5c]
call fcn.14012b090
mov dword [r14 + 0x5c], eax
mov ecx, dword [r14 + 0x60]
call fcn.14012b090
mov dword [r14 + 0x60], eax
mov ecx, dword [r14 + 0x64]
call fcn.14012b090
mov dword [r14 + 0x64], eax
xor eax, eax
mov ecx, dword [r14 + rax*4 + 0x48]
xor ecx, dword [r14 + rax*4 + 0x5c]
xor ecx, dword [r14 + rax*4 + 0x30]
xor ecx, dword [r14 + rax*4 + 0x28]
rol ecx, 1
mov dword [r14 + rax*4 + 0x68], ecx
add rax, 1
cmp rax, 0x40
jne 0x140048210
movdqu xmm0, xmmword [r14 + 0x14]
movd ecx, xmm0
movd dword [r14], xmm0
mov r8d, dword [r14 + 0x24]
mov ebp, ecx
rol ebp, 5
pshufd xmm1, xmm0, 0xe5
movd r9d, xmm1
pshufd xmm1, xmm0, 0x4e
movd eax, xmm1
mov ebx, r9d
and ebx, eax
mov edi, r9d
not edi
pshufd xmm2, xmm0, 0xe7
movd edx, xmm2
and edi, edx
or edi, ebx
add edi, ebp
add edi, r8d
mov ebp, dword [r14 + 0x28]
lea ebp, [rdi + rbp]
add ebp, 0x5a827999
rol r9d, 0x1e
mov ebx, ebp
rol ebx, 5
mov edi, ecx
and edi, r9d
mov esi, ecx
not esi
and esi, eax
or esi, edi
add esi, ebx
mov ebx, dword [r14 + 0x2c]
movd dword [r14 + 0x10], xmm1
mov dword [r14 + 0xc], r9d
rol ecx, 0x1e
mov dword [r14 + 8], ecx
mov dword [r14 + 4], ebp
add esi, edx
lea ebx, [rbx + rsi]
add ebx, 0x5a827999
mov edx, ntohl
mov r11d, 0x8f1bbcdc
mov r15d, ebx
mov r10d, r9d
mov r9d, ecx
mov ecx, ebp
lea rdi, [rdx - 0xa]
mov ebp, ebx
rol ebp, 5
cmp rdi, 0x14
jae 0x140048310
mov esi, ecx
and esi, r9d
mov ebx, ecx
not ebx
and ebx, r10d
or ebx, esi
add ebx, ebp
add ebx, eax
add ebx, dword [r14 + rdx*4]
mov eax, 0x5a827999
jmp 0x140048365
cmp rdi, 0x28
jae 0x140048330
mov ebx, r9d
xor ebx, r10d
xor ebx, ecx
add ebx, ebp
add ebx, eax
add ebx, dword [r14 + rdx*4]
mov eax, 0x6ed9eba1
jmp 0x140048365
cmp rdi, 0x3b
ja 0x140048348
mov esi, r9d
or esi, r10d
and esi, ecx
mov ebx, r9d
and ebx, r10d
or ebx, esi
jmp 0x140048350
mov ebx, r9d
xor ebx, r10d
xor ebx, ecx
add ebx, ebp
add ebx, eax
add ebx, dword [r14 + rdx*4]
cmp rdi, 0x3c
mov eax, 0xca62c1d6
cmovb eax, r11d
add ebx, eax
rol ecx, 0x1e
add rdx, 1
mov eax, r10d
mov ebp, r15d
cmp rdx, 0x5a
jne 0x1400482d0
mov dword [r14 + 0x10], r10d
mov dword [r14 + 0xc], r9d
mov dword [r14 + 8], ecx
mov dword [r14 + 4], r15d
mov dword [r14], ebx
movd xmm1, r9d
movd xmm2, ecx
punpckldq xmm2, xmm1
movd xmm1, r15d
movd xmm3, ebx
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
paddd xmm3, xmm0
movdqu xmmword [r14 + 0x14], xmm3
add r8d, r10d
mov dword [r14 + 0x24], r8d
mov dword [r14 + 0x168], 0
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret