Function at 0x100466e0
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
mov eax, dword [0x100e3008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xorps xmm1, xmm1
push ebx
mov ebx, dword [ebp + 0xc]
xorps xmm2, xmm2
push esi
mov esi, ecx
mov dword [ebp - 0xc8], esi
push edi
movups xmmword [ebp - 0x58], xmm1
movups xmmword [ebp - 0x48], xmm1
movups xmmword [ebp - 0x38], xmm1
movups xmmword [ebp - 0x28], xmm2
cmp ebx, 0x40
jbe 0x10046832
push ebx
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0x67452301
push eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xbc], 0xefcdab89
mov dword [ebp - 0xb8], 0x98badcfe
mov dword [ebp - 0xb4], 0x10325476
mov dword [ebp - 0xb0], 0xc3d2e1f0
movlpd qword [ebp - 0xa8], xmm0
mov dword [ebp - 0xa0], 0
call fcn.100456a0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc0]
call fcn.10045710
movzx ecx, byte [ebp - 0x18]
movzx eax, byte [ebp - 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x15]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x13]
mov dword [ebp - 0x58], ecx
movzx ecx, byte [ebp - 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xf]
mov dword [ebp - 0x54], ecx
movzx ecx, byte [ebp - 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xb]
mov dword [ebp - 0x50], ecx
movzx ecx, byte [ebp - 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 7]
mov dword [ebp - 0x4c], ecx
movzx ecx, byte [ebp - 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 5]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x48], ecx
jmp 0x10046875
xor edi, edi
test ebx, ebx
je 0x10046875
mov esi, eax
nop word [eax + eax]
mov eax, edi
lea edx, [ebp - 0x58]
shr eax, 2
mov ecx, 3
lea edx, [edx + eax*4]
mov eax, edi
and eax, 3
sub ecx, eax
movzx eax, byte [esi + edi]
shl ecx, 3
inc edi
shl eax, cl
or dword [edx], eax
cmp edi, ebx
jb 0x10046840
movups xmm2, xmmword [ebp - 0x28]
mov esi, dword [ebp - 0xc8]
movups xmm1, xmmword [ebp - 0x38]
movaps xmm0, xmmword [0x100ca560]
lea ebx, [ebp - 0x58]
movups xmm3, xmmword [ebp - 0x58]
mov dword [esi], 0x67452301
mov edi, 0x10
movups xmm4, xmmword [ebp - 0x48]
mov dword [esi + 4], 0xefcdab89
pxor xmm3, xmm0
mov dword [esi + 8], 0x98badcfe
pxor xmm4, xmm0
mov dword [esi + 0xc], 0x10325476
pxor xmm1, xmm0
mov dword [esi + 0x10], 0xc3d2e1f0
pxor xmm2, xmm0
mov dword [esi + 0x18], 0
movups xmmword [ebp - 0x58], xmm3
mov dword [esi + 0x1c], 0
movups xmmword [ebp - 0x48], xmm4
mov dword [esi + 0x20], 0
movups xmmword [ebp - 0x38], xmm1
movups xmmword [ebp - 0x28], xmm2
mov ecx, dword [esi + 0x20]
lea ebx, [ebx + 4]
mov eax, dword [ebx - 4]
dec edi
mov dword [esi + ecx*4 + 0x24], eax
inc dword [esi + 0x20]
cmp dword [esi + 0x20], 0x10
jne 0x10046916
push ecx
push esi
lea eax, [esi + 0x24]
mov dword [esi + 0x20], 0
push eax
mov ecx, esi
call fcn.10045d80
add dword [esi + 0x18], 1
adc dword [esi + 0x1c], 0
test edi, edi
jne 0x100468e3
movaps xmm0, xmmword [0x100ca570]
lea ebx, [ebp - 0x58]
add esi, 0x68
pxor xmm3, xmm0
pxor xmm4, xmm0
pxor xmm1, xmm0
pxor xmm2, xmm0
movups xmmword [ebp - 0x58], xmm3
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
mov edi, 0x10
movups xmmword [ebp - 0x48], xmm4
mov dword [esi], 0x67452301
movups xmmword [ebp - 0x38], xmm1
mov dword [esi + 4], 0xefcdab89
movups xmmword [ebp - 0x28], xmm2
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov dword [esi + 0x10], 0xc3d2e1f0
mov ecx, dword [esi + 0x20]
lea ebx, [ebx + 4]
mov eax, dword [ebx - 4]
dec edi
mov dword [esi + ecx*4 + 0x24], eax
inc dword [esi + 0x20]
cmp dword [esi + 0x20], 0x10
jne 0x100469aa
push ecx
push esi
lea eax, [esi + 0x24]
mov dword [esi + 0x20], 0
push eax
mov ecx, esi
call fcn.10045d80
add dword [esi + 0x18], 1
adc dword [esi + 0x1c], 0
test edi, edi
jne 0x10046977
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1009bd8a
mov esp, ebp
pop ebp
ret 8