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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, eax
sar edx, 0x1f
shr edx, 0x1c
add edx, eax
add eax, 0xf
cmp eax, 0x1f
mov dword [esp], edx
jae 0x42a365
mov edi, ebx
mov ebp, ebx
mov esi, ebx
mov edx, ebx
jmp 0x42a448
mov eax, edx
sar eax, 4
mov edx, ebx
lea ebx, [ecx + 0xc]
mov esi, edx
mov ebp, edx
mov edi, edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
mov eax, dword [ebx - 0xc]
imul edi, eax, 0x239b961b
imul eax, eax, 0xcb0d8000
shr edi, 0x11
or edi, eax
mov eax, dword [ebx - 8]
imul ebp, edi, 0xab0e9789
xor ebp, edx
imul edi, eax, 0xab0e9789
imul eax, eax, 0x97890000
shr edi, 0x10
or edi, eax
mov eax, dword [ebx - 4]
rol ebp, 0x13
add ebp, esi
imul edi, edi, 0x38b34ae5
xor edi, esi
imul esi, eax, 0x38b34ae5
imul eax, eax, 0x95ca0000
shr esi, 0xf
or esi, eax
mov ecx, dword [ebx]
rol edi, 0x11
mov edx, dword [esp + 8]
add edi, edx
imul eax, esi, 0xa1e38b93
xor eax, edx
imul esi, ecx, 0xa1e38b93
imul ecx, ecx, 0x2e4c0000
shr esi, 0xe
or esi, ecx
rol eax, 0xf
mov edx, dword [esp + 0xc]
add eax, edx
imul ecx, esi, 0x239b961b
xor ecx, edx
rol ecx, 0xd
lea esi, [ebp*4]
add esi, ebp
lea ecx, [ecx + esi + 0x561ccd1b]
lea edx, [ebp + ebp*4 + 0x561ccd1b]
lea esi, [edi + edi*4 + 0xbcaa747]
lea ebp, [eax + eax*4]
add ebp, 0x96cd1c35
mov eax, dword [esp + 4]
lea edi, [ecx + ecx*4]
add edi, 0x32ac3b17
add ebx, 0x10
dec eax
jne 0x42a375
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x28]
and ebx, 0xf
dec ebx
cmp ebx, 0xe
ja case.default.0x42a46c
mov eax, dword [esp]
and eax, 0xfffffff0
xor edx, edx
mov ecx, dword [esp + 0x24]
mov dword [esp], eax
jmp dword [ebx*4 + 0x46161c]
mov eax, dword [esp + 0x28]
xor ecx, eax
xor esi, eax
xor ebp, eax
xor edi, eax
lea eax, [edi + ebp]
add eax, esi
add eax, ecx
add esi, eax
add ebp, eax
add edi, eax
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
imul eax, ecx, 0x85ebca6b
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae35
mov edx, eax
shr edx, 0x10
xor edx, eax
mov eax, esi
shr eax, 0x10
xor eax, esi
imul eax, eax, 0x85ebca6b
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae35
mov esi, eax
shr esi, 0x10
xor esi, eax
mov eax, ebp
shr eax, 0x10
xor eax, ebp
imul eax, eax, 0x85ebca6b
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae35
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov eax, edi
shr eax, 0x10
xor eax, edi
imul eax, eax, 0x85ebca6b
mov edi, eax
shr edi, 0xd
xor edi, eax
imul edi, edi, 0xc2b2ae35
mov eax, edi
shr eax, 0x10
xor eax, edi
add edx, esi
add edx, ecx
add edx, eax
add esi, edx
add ecx, edx
add eax, edx
mov edi, dword [esp + 0x30]
mov dword [edi], edx
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 4]
jmp 0x42a592
or byte [eax], al
add byte [eax], al
or dword [eax], eax
add byte [eax], al
or dword [eax], eax
add byte [eax], al
or al, byte [eax]
add byte [eax], al
or al, byte [eax]
add byte [eax], al
or eax, dword [eax]
add byte [eax], al
or eax, dword [eax]
add byte [eax], al
or al, 0
push ss
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [esi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [edi], edx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [eax], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [ecx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [edx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ebx], ebx
add dword [ecx + eax], ebx
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb al, 1
sbb eax, 0x12111001
add byte [eax], cl
pop es
or dword [esi], eax
or al, byte [0x30c040b]
or eax, 0xf010e02
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add byte [edi], al
add byte [eax], al
add byte [edi], cl
add byte [eax], al
add byte [edi], bl
add byte [eax], al
add byte [edi], bh
add byte [eax], al
add byte [edi], bh
add byte [eax], al
inc dword [eax]
add byte [eax], al
inc dword [ecx]
add byte [eax], al
inc dword [ebx]
add byte [eax], al
inc dword [edi]
add byte [eax], al
dec dword [edi]
add byte [eax], al
call [edi]
add byte [eax], al
invalid