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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
and dword [ebp - 4], 0
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x10]
push ebx
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + 0x14]
push esi
mov esi, dword [eax + 4]
push edi
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], ecx
xor edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
and edi, dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
xor edi, dword [ebp - 0x14]
add dword [ebp + 8], 4
shl ecx, 2
mov dword [ebp - 0x24], ecx
add ecx, edx
mov dword [ecx], ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0xc]
ror ecx, 0xb
rol ebx, 7
xor ecx, ebx
mov ebx, dword [ebp - 0xc]
ror ebx, 6
xor ecx, ebx
mov ebx, dword [ebp - 8]
add ecx, edi
mov edi, dword [ebp - 0x24]
add ecx, dword [edi + 0x5d1d18]
mov edi, dword [ebp - 0x28]
add ecx, dword [edi]
mov edi, dword [ebp - 8]
add ecx, dword [ebp - 0x20]
ror edi, 0xd
rol ebx, 0xa
xor edi, ebx
mov ebx, dword [ebp - 8]
ror ebx, 2
xor edi, ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x10]
and ebx, esi
or edi, esi
and edi, dword [ebp - 8]
or edi, ebx
mov ebx, dword [ebp - 0x28]
add ebx, edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x1c]
add ebx, ecx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp - 0x28]
add ebx, ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 8]
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], ebx
jl 0x43a383
cmp dword [ebp - 4], 0x40
mov dword [ebp + 8], esi
jge 0x43a545
mov ecx, dword [ebp - 4]
add ecx, 0xfffffffe
mov dword [ebp - 0x24], ecx
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 4]
and edi, 0xf
lea ecx, [esi + 3]
and esi, 0xf
mov esi, dword [edx + esi*4]
and ecx, 0xf
mov ecx, dword [edx + ecx*4]
lea edi, [edx + edi*4]
mov dword [ebp - 0x28], edi
mov edi, esi
rol edi, 0xf
mov ebx, esi
rol ebx, 0xd
xor edi, ebx
shr esi, 0xa
xor edi, esi
mov esi, ecx
rol esi, 0xe
mov ebx, ecx
ror ebx, 7
xor esi, ebx
shr ecx, 3
xor esi, ecx
mov ecx, dword [ebp - 0x24]
add edi, esi
mov esi, dword [ebp - 0xc]
add ecx, 0xfffffffb
and ecx, 0xf
add edi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x28]
add dword [ecx], edi
mov edi, dword [ecx]
mov ecx, esi
ror ecx, 0xb
mov ebx, esi
rol ebx, 7
xor ecx, ebx
mov ebx, esi
ror ebx, 6
xor ecx, ebx
mov ebx, dword [ebp - 0x14]
xor ebx, dword [ebp - 0x18]
and ebx, esi
xor ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 4]
add ecx, ebx
add ecx, dword [esi*4 + 0x5d1d18]
mov esi, dword [ebp - 8]
add ecx, edi
add ecx, dword [ebp - 0x20]
mov edi, esi
ror edi, 0xd
mov ebx, esi
rol ebx, 0xa
xor edi, ebx
mov ebx, esi
ror ebx, 2
xor edi, ebx
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x10]
or edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x28]
and edi, esi
mov esi, dword [ebp - 0x10]
and esi, dword [ebp + 8]
or edi, esi
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0xc]
add ebx, edi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x1c]
add esi, ecx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 8]
add ebx, ecx
inc dword [ebp - 4]
inc dword [ebp - 0x24]
cmp dword [ebp - 4], 0x40
mov dword [ebp + 8], esi
mov dword [ebp - 8], ebx
jl 0x43a44f
mov ecx, dword [ebp - 8]
add dword [eax], ecx
mov ecx, dword [ebp - 0x10]
add dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1c]
add dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0xc]
add dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x18]
add dword [eax + 0x18], edi
add dword [eax + 4], esi
add dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x20]
add dword [eax + 0x1c], ecx
pop edi
pop esi
pop ebx
leave
ret