Function at 0x688500
Capabilities:
Encode data using xor
Resolve function by fin8 fasthash

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov ecx, dword [ebp + 0xc]
mov eax, ecx
shr eax, 3
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea eax, [ebx + eax*8]
mov dword [ebp - 4], eax
mov eax, 0x880355f2
mul ecx
mov edi, eax
mov eax, 0x1e6d1965
mul ecx
mov esi, eax
add edi, edx
xor esi, dword [ebp + 0x10]
mov eax, ebx
xor edi, 0
mov dword [ebp + 8], esi
and eax, 7
mov dword [ebp + 0x10], edi
cmp ebx, dword [ebp - 4]
je 0x688602
test eax, eax
jne 0x6885a7
nop dword [eax]
mov esi, dword [ebx]
mov eax, dword [ebx + 4]
shrd esi, eax, 0x17
push 0x2127599b
xor esi, dword [ebx]
shr eax, 0x17
xor eax, dword [ebx + 4]
push 0xf4325c37
push eax
push esi
call fcn.005ecb50
xor ecx, ecx
mov esi, edx
push 0x880355f2
shr esi, 0xf
xor ecx, edx
push 0x1e6d1965
xor esi, eax
xor ecx, edi
xor esi, dword [ebp + 8]
push ecx
push esi
call fcn.005ecb50
add ebx, 8
mov esi, eax
mov edi, edx
mov dword [ebp + 8], esi
cmp ebx, dword [ebp - 4]
jne 0x688550
mov dword [ebp + 0x10], edi
jmp 0x6885ff
mov ecx, dword [ebx]
mov esi, ecx
mov edx, dword [ebx + 4]
add ebx, 8
mov eax, edx
shrd esi, eax, 0x17
push 0x2127599b
shr eax, 0x17
xor esi, ecx
push 0xf4325c37
xor eax, edx
push eax
push esi
call fcn.005ecb50
xor ecx, ecx
mov esi, edx
push 0x880355f2
shr esi, 0xf
xor ecx, edx
push 0x1e6d1965
xor esi, eax
xor ecx, edi
xor esi, dword [ebp + 8]
push ecx
push esi
call fcn.005ecb50
mov esi, eax
mov edi, edx
mov dword [ebp + 8], esi
cmp ebx, dword [ebp - 4]
jne 0x6885a7
mov dword [ebp + 0x10], edx
mov ecx, dword [ebp + 0xc]
and ecx, 7
xorps xmm0, xmm0
dec ecx
movlpd qword [ebp - 8], xmm0
cmp ecx, 6
ja case.default.0x688617
jmp dword [ecx*4 + 0x688740]
movzx eax, byte [ebx + 6]
xor edi, edi
cdq
mov esi, eax
movzx eax, byte [ebx + 5]
cdq
shl eax, 8
shl esi, 0x10
xor esi, eax
movzx eax, byte [ebx + 4]
cdq
xor esi, eax
jmp 0x688674
movzx eax, byte [ebx + 5]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
cdq
xor edi, 0
shl eax, 8
xor edi, 0
xor esi, eax
movzx eax, byte [ebx + 4]
cdq
xor esi, eax
jmp 0x688674
movzx eax, byte [ebx + 4]
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 4]
xor edi, 0
cdq
xor esi, eax
jmp 0x688674
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
movzx eax, byte [ebx + 3]
cdq
shld edx, eax, 0x18
shl eax, 0x18
xor edi, eax
xor esi, edx
jmp 0x68868c
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
movzx eax, byte [ebx + 2]
cdq
shld edx, eax, 0x10
shl eax, 0x10
xor edi, eax
xor esi, edx
jmp 0x6886a4
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
movzx eax, byte [ebx + 1]
cdq
shld edx, eax, 8
shl eax, 8
xor edi, eax
xor esi, edx
jmp 0x6886bc
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
movzx eax, byte [ebx]
cdq
xor edi, eax
xor esi, edx
mov ecx, edi
mov eax, esi
shrd ecx, eax, 0x17
push 0x2127599b
shr eax, 0x17
xor ecx, edi
push 0xf4325c37
xor eax, esi
push eax
push ecx
call fcn.005ecb50
xor ecx, ecx
mov esi, edx
push 0x880355f2
shr esi, 0xf
xor ecx, edx
xor ecx, dword [ebp + 0x10]
xor esi, eax
xor esi, dword [ebp + 8]
push 0x1e6d1965
push ecx
push esi
call fcn.005ecb50
mov esi, eax
mov edi, edx
mov ecx, esi
mov eax, edi
shrd ecx, eax, 0x17
push 0x2127599b
shr eax, 0x17
xor ecx, esi
push 0xf4325c37
xor eax, edi
push eax
push ecx
call fcn.005ecb50
mov esi, edx
xor ecx, ecx
shr esi, 0xf
xor ecx, edx
pop edi
xor eax, esi
pop esi
sub eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret