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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x148
mov eax, dword [0x100597c0]
xor eax, esp
mov dword [esp + 0x144], eax
cmp dword [esp + 0x164], 0
jle 0x100038e4
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x88]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x8c]
mov dword [esp + 4], ecx
mov ecx, dword [eax + 0x90]
mov dword [esp], ecx
mov ecx, dword [eax + 0x94]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x98]
mov dword [esp + 0x10], ecx
add edx, 3
mov ecx, dword [eax + 0x9c]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0xa0]
mov dword [esp + 8], ecx
mov ebp, dword [eax + 0xa4]
xor eax, eax
nop word cs:[eax + eax]
mov dword [esp + 0x30], eax
xor eax, eax
nop word cs:[eax + eax]
mov ecx, dword [edx + eax*4 - 3]
bswap ecx
mov dword [esp + eax*4 + 0x44], ecx
inc eax
cmp eax, 0x10
jne 0x10003700
mov dword [esp + 0x38], edx
mov eax, 0x10
mov ecx, dword [esp + 0x44]
nop dword [eax]
mov edx, dword [esp + eax*4 + 8]
mov esi, dword [esp + eax*4 + 0x3c]
mov edi, esi
rol edi, 0xf
mov ebx, esi
rol ebx, 0xd
xor ebx, edi
shr esi, 0xa
xor esi, ebx
add esi, dword [esp + eax*4 + 0x28]
mov edi, edx
rol edi, 0x19
mov ebx, edx
rol ebx, 0xe
xor ebx, edi
mov edi, edx
shr edi, 3
xor edi, ebx
add edi, ecx
add edi, esi
mov dword [esp + eax*4 + 0x44], edi
inc eax
mov ecx, edx
cmp eax, 0x40
jne 0x10003720
xor ebx, ebx
mov dword [esp + 0x34], ebp
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
nop word cs:[eax + eax]
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x28]
mov edi, esi
rol edi, 0x1a
mov ebx, esi
rol ebx, 0x15
xor ebx, edi
mov edi, esi
rol edi, 7
xor edi, ebx
mov dword [esp + 0x2c], edx
mov ebx, edx
and ebx, esi
add ebx, ebp
mov dword [esp + 0x28], esi
mov ebp, esi
not ebp
and ebp, eax
add ebp, ebx
add ebp, edi
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov edx, ecx
rol edx, 0x1e
mov ebx, ecx
rol ebx, 0x13
xor ebx, edx
mov edx, ecx
rol edx, 0xa
xor edx, ebx
mov ebx, edi
xor ebx, eax
mov dword [esp + 0x1c], ecx
and ebx, ecx
mov dword [esp + 0x24], edi
mov ecx, edi
mov dword [esp + 0x20], eax
and ecx, eax
xor ecx, ebx
mov ebx, dword [esp + 0x40]
add ecx, edx
add ebp, dword [ebx + 0x100590b0]
add ebp, dword [esp + ebx + 0x44]
add esi, ebp
add ecx, ebp
add ebx, 4
mov ebp, dword [esp + 0x3c]
cmp ebx, 0x100
jne 0x100037a0
mov edi, ebp
add dword [esp + 0x18], ecx
mov eax, dword [esp + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [esp]
add eax, dword [esp + 0x20]
mov dword [esp], eax
mov ebx, dword [esp + 0x14]
add ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
add edx, esi
mov esi, dword [esp + 0xc]
add esi, dword [esp + 0x28]
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
add ebp, edi
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x18]
mov dword [eax + 0x88], edi
mov edi, dword [esp + 4]
mov dword [eax + 0x8c], edi
mov edi, dword [esp]
mov dword [eax + 0x90], edi
mov dword [esp + 0x14], ebx
mov dword [eax + 0x94], ebx
mov dword [esp + 0x10], edx
mov dword [eax + 0x98], edx
mov dword [esp + 0xc], esi
mov dword [eax + 0x9c], esi
mov dword [esp + 8], ecx
mov dword [eax + 0xa0], ecx
mov dword [eax + 0xa4], ebp
mov eax, dword [esp + 0x30]
inc eax
mov edx, dword [esp + 0x38]
add edx, 0x40
cmp eax, dword [esp + 0x164]
jne 0x100036f0
mov ecx, dword [esp + 0x144]
xor ecx, esp
call fcn.1000e7b7
add esp, 0x148
pop esi
pop edi
pop ebx
pop ebp
ret