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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
pxor xmm0, xmm0
movdqu xmm2, xmmword [ecx + 0x28]
movdqu xmm1, xmmword [ecx + 0x38]
movdqa xmm3, xmm2
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm2, xmm0
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [ecx + 0x28], xmm2
movdqa xmm2, xmm1
punpckhbw xmm2, xmm0
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [ecx + 0x38], xmm1
movdqu xmm1, xmmword [ecx + 0x48]
movdqa xmm2, xmm1
punpckhbw xmm2, xmm0
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [ecx + 0x48], xmm1
movdqu xmm1, xmmword [ecx + 0x58]
movdqa xmm2, xmm1
punpckhbw xmm2, xmm0
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm0
pshuflw xmm0, xmm1, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [ecx + 0x58], xmm0
xor eax, eax
mov edx, dword [ecx + eax*4 + 0x48]
xor edx, dword [ecx + eax*4 + 0x5c]
xor edx, dword [ecx + eax*4 + 0x30]
xor edx, dword [ecx + eax*4 + 0x28]
rol edx, 1
mov dword [ecx + eax*4 + 0x68], edx
inc eax
cmp eax, 0x40
jne 0x449067
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x20], eax
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x10], ecx
mov esi, dword [ecx + 0x24]
xor ebx, ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp - 0x1c]
mov ecx, edx
mov edx, eax
mov eax, edi
rol eax, 5
cmp ebx, 0x14
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x1c], edi
jae 0x4490eb
mov edi, esi
not edi
and edi, edx
add edi, eax
mov eax, esi
and eax, ecx
add edi, eax
add edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
add edi, dword [eax + ebx*4 + 0x28]
mov edx, 0x5a827999
jmp 0x449140
cmp ebx, 0x28
jae 0x449109
mov edi, ecx
xor edi, edx
xor edi, esi
add edi, eax
add edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
add edi, dword [eax + ebx*4 + 0x28]
mov edx, 0x6ed9eba1
jmp 0x449140
cmp ebx, 0x3b
ja 0x449129
mov edi, edx
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
or edx, edi
and edx, esi
mov edi, dword [ebp - 0x24]
and edi, dword [ebp - 0x14]
or edi, edx
mov edx, 0x8f1bbcdc
jmp 0x449134
mov edi, ecx
xor edi, edx
xor edi, esi
mov edx, 0xca62c1d6
add edi, eax
add edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
add edi, dword [eax + ebx*4 + 0x28]
add edi, edx
rol esi, 0x1e
inc ebx
mov eax, ecx
mov edx, esi
cmp ebx, 0x50
jne 0x4490af
mov ebx, dword [ebp - 0x10]
mov dword [ebx], edi
mov eax, dword [ebp - 0x28]
add eax, edi
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], esi
mov edi, dword [ebp - 0x1c]
mov dword [ebx + 4], edi
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x20]
add eax, edi
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x2c]
add eax, esi
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x30]
add eax, ecx
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x168], 0
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret