Function at 0x1005f630
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
sub esp, 0x48
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
push ebp
push esi
mov edx, dword [ecx]
mov ebp, dword [ecx + 8]
push edi
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x5c], edx
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x60]
mov esi, ecx
dec ecx
test esi, esi
je 0x1005fd65
inc ecx
push ebx
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov esi, ecx
xor ecx, ecx
mov ch, byte [eax]
or esi, ecx
inc eax
xor ecx, ecx
mov cl, byte [eax]
shl ecx, 0x10
or esi, ecx
inc eax
xor ecx, ecx
mov cl, byte [eax]
shl ecx, 0x18
or esi, ecx
inc eax
xor ecx, ecx
mov ebx, esi
mov cl, byte [eax]
inc eax
mov esi, ecx
xor ecx, ecx
mov ch, byte [eax]
mov dword [esp + 0x4c], ebx
or esi, ecx
inc eax
xor ecx, ecx
mov cl, byte [eax]
shl ecx, 0x10
or esi, ecx
inc eax
xor ecx, ecx
mov cl, byte [eax]
shl ecx, 0x18
or esi, ecx
mov ecx, edi
xor ecx, ebp
inc eax
and ecx, edx
mov dword [esp + 0x2c], esi
xor ecx, edi
add ecx, ebx
mov ebx, dword [esp + 0x60]
add ecx, ebx
xor ebx, ebx
mov bl, byte [eax]
inc eax
mov esi, ebx
xor ebx, ebx
mov bh, byte [eax]
or esi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or esi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or esi, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], esi
mov esi, ebp
rol ecx, 3
xor esi, edx
inc eax
and esi, ecx
xor esi, ebp
add esi, ebx
xor ebx, ebx
mov bl, byte [eax]
add esi, edi
mov edi, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
rol esi, 7
or edi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or edi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or edi, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edi
mov edi, edx
xor edi, ecx
inc eax
and edi, esi
xor edi, edx
add edi, ebx
xor ebx, ebx
mov bl, byte [eax]
add edi, ebp
mov ebp, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or ebp, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or ebp, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or ebp, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x14], ebp
mov ebp, esi
rol edi, 0xb
xor ebp, ecx
inc eax
and ebp, edi
xor ebp, ecx
add ebp, ebx
xor ebx, ebx
mov bh, byte [eax + 1]
add ebp, edx
xor edx, edx
mov dl, byte [eax]
inc eax
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or edx, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x34], edx
mov edx, esi
rol ebp, 0x13
xor edx, edi
inc eax
and edx, ebp
xor edx, esi
add edx, ebx
xor ebx, ebx
mov bh, byte [eax + 1]
add edx, ecx
xor ecx, ecx
mov cl, byte [eax]
inc eax
or ecx, ebx
inc eax
rol edx, 3
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or ecx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or ecx, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
mov ecx, edi
xor ecx, ebp
inc eax
and ecx, edx
xor ecx, edi
add ecx, ebx
xor ebx, ebx
mov bl, byte [eax]
add ecx, esi
mov esi, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or esi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or esi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or esi, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x44], esi
mov esi, ebp
rol ecx, 7
xor esi, edx
inc eax
and esi, ecx
xor esi, ebp
add esi, ebx
xor ebx, ebx
mov bl, byte [eax]
add esi, edi
mov edi, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or edi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or edi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or edi, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x10], edi
mov edi, ecx
rol esi, 0xb
xor edi, edx
inc eax
and edi, esi
xor edi, edx
add edi, ebx
xor ebx, ebx
mov bl, byte [eax]
add edi, ebp
mov ebp, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or ebp, ebx
inc eax
rol edi, 0x13
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or ebp, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x30], ebp
mov ebp, ecx
xor ebp, esi
inc eax
and ebp, edi
xor ebp, ecx
add ebp, ebx
xor ebx, ebx
mov bh, byte [eax + 1]
add ebp, edx
xor edx, edx
mov dl, byte [eax]
inc eax
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or edx, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
mov edx, esi
rol ebp, 3
xor edx, edi
inc eax
and edx, ebp
xor edx, esi
add edx, ebx
xor ebx, ebx
mov bh, byte [eax + 1]
add edx, ecx
xor ecx, ecx
mov cl, byte [eax]
inc eax
or ecx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or ecx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or ecx, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x40], ecx
mov ecx, edi
rol edx, 7
xor ecx, ebp
inc eax
and ecx, edx
xor ecx, edi
add ecx, ebx
xor ebx, ebx
mov bl, byte [eax]
add ecx, esi
mov esi, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or esi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
rol ecx, 0xb
shl ebx, 0x10
or esi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or esi, ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x18], esi
mov esi, edx
xor esi, ebp
inc eax
and esi, ecx
xor esi, ebp
add esi, ebx
xor ebx, ebx
mov bl, byte [eax]
add esi, edi
mov edi, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or edi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or edi, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or edi, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], edi
mov edi, edx
rol esi, 0x13
xor edi, ecx
inc eax
and edi, esi
xor edi, edx
add edi, ebx
xor ebx, ebx
mov bl, byte [eax]
add edi, ebp
mov ebp, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or ebp, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
or ebp, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or ebp, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x28], ebp
mov ebp, ecx
rol edi, 3
xor ebp, esi
inc eax
and ebp, edi
xor ebp, ecx
add ebp, ebx
xor ebx, ebx
mov bh, byte [eax + 1]
add ebp, edx
xor edx, edx
mov dl, byte [eax]
inc eax
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x10
rol ebp, 7
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
shl ebx, 0x18
or edx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x48], edx
mov edx, esi
xor edx, edi
inc eax
and edx, ebp
xor edx, esi
add edx, ebx
mov ebx, dword [esp + 0x48]
add edx, ecx
mov ecx, ebp
rol edx, 0xb
xor ecx, edi
and ecx, edx
xor ecx, edi
add ecx, ebx
mov ebx, edx
add ecx, esi
mov esi, edx
rol ecx, 0x13
or esi, ecx
and ebx, ecx
and esi, ebp
or esi, ebx
mov ebx, dword [esp + 0x4c]
add esi, ebx
mov ebx, ecx
lea edi, [esi + edi + 0x5a827999]
mov esi, ecx
rol edi, 3
or esi, edi
and ebx, edi
mov dword [esp + 0x54], esi
and esi, edx
or esi, ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x14]
add esi, ebx
mov ebx, dword [esp + 0x60]
lea ebp, [esi + ebp + 0x5a827999]
mov esi, dword [esp + 0x54]
rol ebp, 5
and esi, ebp
mov dword [esp + 0x64], ebp
or esi, ebx
mov ebx, dword [esp + 0x10]
add esi, ebx
lea edx, [esi + edx + 0x5a827999]
rol edx, 9
mov esi, edx
mov ebx, edx
or esi, edi
and ebx, edi
and esi, ebp
or esi, ebx
mov ebx, dword [esp + 0x18]
add esi, ebx
mov ebx, edx
lea ecx, [esi + ecx + 0x5a827999]
mov esi, edx
rol ecx, 0xd
or esi, ecx
and ebx, ecx
and esi, ebp
or esi, ebx
mov ebx, dword [esp + 0x2c]
add esi, ebx
mov ebx, ecx
lea edi, [esi + edi + 0x5a827999]
mov esi, ecx
rol edi, 3
or esi, edi
and ebx, edi
mov ebp, esi
mov dword [esp + 0x60], ebx
and ebp, edx
or ebp, ebx
mov ebx, dword [esp + 0x34]
add ebp, ebx
mov ebx, dword [esp + 0x64]
lea ebx, [ebx + ebp + 0x5a827999]
mov ebp, dword [esp + 0x60]
rol ebx, 5
and esi, ebx
mov dword [esp + 0x64], ebx
or esi, ebp
mov ebp, dword [esp + 0x30]
add esi, ebp
lea edx, [esi + edx + 0x5a827999]
rol edx, 9
mov esi, edx
mov ebp, edx
or esi, edi
and ebp, edi
and esi, ebx
or esi, ebp
mov ebp, dword [esp + 0x38]
add esi, ebp
lea esi, [esi + ecx + 0x5a827999]
mov ecx, edx
rol esi, 0xd
or ecx, esi
and ecx, ebx
mov ebx, edx
and ebx, esi
or ecx, ebx
mov ebx, dword [esp + 0x1c]
add ecx, ebx
mov ebx, esi
lea edi, [ecx + edi + 0x5a827999]
mov ecx, esi
rol edi, 3
or ecx, edi
and ebx, edi
mov ebp, ecx
mov dword [esp + 0x60], ebx
and ebp, edx
or ebp, ebx
mov ebx, dword [esp + 0x24]
add ebp, ebx
mov ebx, dword [esp + 0x64]
lea ebx, [ebx + ebp + 0x5a827999]
mov ebp, dword [esp + 0x60]
rol ebx, 5
and ecx, ebx
mov dword [esp + 0x64], ebx
or ecx, ebp
mov ebp, dword [esp + 0x20]
add ecx, ebp
lea ecx, [ecx + edx + 0x5a827999]
rol ecx, 9
mov edx, ecx
mov ebp, ecx
or edx, edi
and ebp, edi
and edx, ebx
or edx, ebp
mov ebp, dword [esp + 0x28]
add edx, ebp
lea esi, [edx + esi + 0x5a827999]
mov edx, ecx
rol esi, 0xd
or edx, esi
and edx, ebx
mov ebx, ecx
and ebx, esi
or edx, ebx
mov ebx, dword [esp + 0x3c]
add edx, ebx
mov ebx, esi
lea edi, [edx + edi + 0x5a827999]
mov edx, esi
rol edi, 3
or edx, edi
and ebx, edi
mov dword [esp + 0x60], ebx
mov ebp, edx
and ebp, ecx
or ebp, ebx
mov ebx, dword [esp + 0x44]
add ebp, ebx
mov ebx, dword [esp + 0x64]
lea ebx, [ebx + ebp + 0x5a827999]
mov ebp, dword [esp + 0x60]
rol ebx, 5
and edx, ebx
or edx, ebp
mov ebp, dword [esp + 0x40]
add edx, ebp
lea ecx, [edx + ecx + 0x5a827999]
rol ecx, 9
mov edx, ecx
mov ebp, ecx
or edx, edi
and ebp, edi
and edx, ebx
or edx, ebp
mov ebp, dword [esp + 0x48]
add edx, ebp
mov ebp, dword [esp + 0x4c]
lea esi, [edx + esi + 0x5a827999]
mov edx, ebx
rol esi, 0xd
xor edx, ecx
xor edx, esi
add edx, ebp
mov ebp, dword [esp + 0x10]
lea edi, [edx + edi + 0x6ed9eba1]
mov edx, ecx
rol edi, 3
xor edx, esi
xor edx, edi
add edx, ebp
mov ebp, dword [esp + 0x14]
lea ebx, [edx + ebx + 0x6ed9eba1]
rol ebx, 9
mov edx, ebx
xor edx, esi
xor edx, edi
add edx, ebp
lea ecx, [edx + ecx + 0x6ed9eba1]
mov edx, ebx
rol ecx, 0xb
xor edx, ecx
mov ebp, edx
xor ebp, edi
add ebp, dword [esp + 0x18]
lea esi, [esi + ebp + 0x6ed9eba1]
mov ebp, dword [esp + 0x1c]
rol esi, 0xf
xor edx, esi
add edx, ebp
mov ebp, dword [esp + 0x20]
lea edx, [edx + edi + 0x6ed9eba1]
mov edi, ecx
rol edx, 3
xor edi, esi
xor edi, edx
add edi, ebp
mov ebp, dword [esp + 0x24]
lea ebx, [edi + ebx + 0x6ed9eba1]
rol ebx, 9
mov edi, ebx
xor edi, esi
xor edi, edx
add edi, ebp
lea edi, [edi + ecx + 0x6ed9eba1]
mov ecx, ebx
rol edi, 0xb
xor ecx, edi
mov ebp, ecx
xor ebp, edx
add ebp, dword [esp + 0x28]
lea esi, [esi + ebp + 0x6ed9eba1]
mov ebp, dword [esp + 0x2c]
rol esi, 0xf
xor ecx, esi
add ecx, ebp
mov ebp, dword [esp + 0x30]
lea ecx, [ecx + edx + 0x6ed9eba1]
mov edx, edi
rol ecx, 3
xor edx, esi
xor edx, ecx
add edx, ebp
mov ebp, dword [esp + 0x34]
lea ebx, [edx + ebx + 0x6ed9eba1]
rol ebx, 9
mov edx, ebx
xor edx, esi
xor edx, ecx
add edx, ebp
lea edi, [edx + edi + 0x6ed9eba1]
mov edx, ebx
rol edi, 0xb
xor edx, edi
mov ebp, edx
xor ebp, ecx
add ebp, dword [esp + 0x38]
lea esi, [esi + ebp + 0x6ed9eba1]
mov ebp, dword [esp + 0x3c]
rol esi, 0xf
xor edx, esi
add edx, ebp
mov ebp, dword [esp + 0x40]
lea edx, [edx + ecx + 0x6ed9eba1]
mov ecx, edi
rol edx, 3
xor ecx, esi
xor ecx, edx
add ecx, ebp
mov ebp, dword [esp + 0x44]
lea ebx, [ecx + ebx + 0x6ed9eba1]
rol ebx, 9
mov ecx, ebx
xor ecx, esi
xor ecx, edx
add ecx, ebp
lea ebp, [ecx + edi + 0x6ed9eba1]
mov edi, dword [esp + 0x48]
rol ebp, 0xb
mov ecx, ebx
xor ecx, ebp
xor ecx, edx
add ecx, edi
lea esi, [ecx + esi + 0x6ed9eba1]
mov ecx, dword [esp + 0x5c]
rol esi, 0xf
mov edi, dword [ecx]
add edi, edx
mov edx, edi
mov dword [ecx], edi
mov edi, dword [ecx + 8]
mov dword [esp + 0x60], edx
mov edx, dword [ecx + 4]
add edi, ebp
add edx, esi
mov esi, dword [ecx + 0xc]
add esi, ebx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x50]
mov ebp, edi
dec ecx
mov edi, esi
mov dword [esp + 0x50], ecx
jne 0x1005f662
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x48
ret