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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, edx
mov dword [ebp - 0x108], eax
push edi
mov edi, ecx
cmp esi, 0x40
jbe 0x10066790
push esi
lea eax, [ebp - 0x104]
mov dword [ebp - 0x104], 0x67452301
push edi
push eax
mov dword [ebp - 0x100], 0xefcdab89
mov dword [ebp - 0xfc], 0x98badcfe
mov dword [ebp - 0xf8], 0x10325476
mov dword [ebp - 0xf4], 0xc3d2e1f0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Update_struct_HNC_SHA1_ALG_INFO___unsigned_char___unsigned_long_int_
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x104]
push eax
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Final_struct_HNC_SHA1_ALG_INFO___unsigned_char__
add esp, 0x14
lea edi, [ebp - 0xa0]
mov esi, 0x14
push 0x41
lea eax, [ebp - 0x48]
push 0
push eax
call sub.MSVCR120.dll_memset
push 0x41
lea eax, [ebp - 0x8c]
push 0
push eax
call sub.MSVCR120.dll_memset
push esi
lea eax, [ebp - 0x48]
push edi
push eax
call sub.MSVCR120.dll_memcpy
push esi
lea eax, [ebp - 0x8c]
push edi
push eax
call sub.MSVCR120.dll_memcpy
movdqa xmm1, xmmword [str.6666666666666666]
add esp, 0x30
movdqa xmm2, xmmword [0x100c6790]
xor eax, eax
jmp 0x100667e0
movdqu xmm0, xmmword [ebp + eax - 0x48]
pxor xmm0, xmm1
movdqu xmmword [ebp + eax - 0x48], xmm0
movdqu xmm0, xmmword [ebp + eax - 0x8c]
pxor xmm0, xmm2
movdqu xmmword [ebp + eax - 0x8c], xmm0
movdqu xmm0, xmmword [ebp + eax - 0x38]
pxor xmm0, xmm1
movdqu xmmword [ebp + eax - 0x38], xmm0
movdqu xmm0, xmmword [ebp + eax - 0x7c]
pxor xmm0, xmm2
movdqu xmmword [ebp + eax - 0x7c], xmm0
add eax, 0x20
cmp eax, 0x40
jl 0x100667e0
push 0x40
lea eax, [ebp - 0x48]
mov dword [ebp - 0x104], 0x67452301
push eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x100], 0xefcdab89
push eax
mov dword [ebp - 0xfc], 0x98badcfe
mov dword [ebp - 0xf8], 0x10325476
mov dword [ebp - 0xf4], 0xc3d2e1f0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Update_struct_HNC_SHA1_ALG_INFO___unsigned_char___unsigned_long_int_
push dword [ebp + 0xc]
lea eax, [ebp - 0x104]
push dword [ebp - 0x108]
push eax
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Update_struct_HNC_SHA1_ALG_INFO___unsigned_char___unsigned_long_int_
lea eax, [ebp - 0x104]
push ebx
push eax
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Final_struct_HNC_SHA1_ALG_INFO___unsigned_char__
push 0x40
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x104], 0x67452301
push eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x100], 0xefcdab89
push eax
mov dword [ebp - 0xfc], 0x98badcfe
mov dword [ebp - 0xf8], 0x10325476
mov dword [ebp - 0xf4], 0xc3d2e1f0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Update_struct_HNC_SHA1_ALG_INFO___unsigned_char___unsigned_long_int_
push 0x14
lea eax, [ebp - 0x104]
push ebx
push eax
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Update_struct_HNC_SHA1_ALG_INFO___unsigned_char___unsigned_long_int_
lea eax, [ebp - 0x104]
push ebx
push eax
call sym.HncFoundation.dll_void___cdecl_HNC_SHA1_Final_struct_HNC_SHA1_ALG_INFO___unsigned_char__
mov ecx, dword [ebp - 4]
add esp, 0x40
xor ecx, ebp
mov al, 1
pop edi
pop esi
pop ebx
call fcn.100944ae
mov esp, ebp
pop ebp
ret