Function at 0x40ef90
Capabilities:
Encode data using xor
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x130
push esi
push edi
mov edi, eax
mov esi, ecx
mov ecx, dword [esp + 0x13c]
test edi, edi
jle 0x40f410
lea edx, [esp + 0x3e]
sub edx, esi
push ebx
lea eax, [esi + 2]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], edi
push ebp
mov edi, edi
xor esi, esi
movzx edi, byte [eax - 2]
movzx ebx, byte [eax - 1]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 1]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 3]
mov dword [esp + esi*4 + 0x40], edi
movzx edi, byte [eax + 2]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 4]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 5]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 7]
mov dword [eax + edx - 4], edi
movzx edi, byte [eax + 6]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 8]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 9]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0xb]
mov dword [eax + edx], edi
movzx edi, byte [eax + 0xa]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0xc]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0xd]
shl edi, 8
or edi, ebx
mov dword [eax + edx + 4], edi
add esi, 4
add eax, 0x10
cmp esi, 0x10
jl 0x40efc2
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x38], 0xc
jmp 0x40f070
mov edx, dword [eax]
mov esi, dword [eax - 0x34]
mov edi, edx
rol edi, 0xf
mov ebx, edx
rol ebx, 0xd
xor edi, ebx
shr edx, 0xa
xor edi, edx
mov edx, esi
rol edx, 0xe
mov ebx, esi
ror ebx, 7
xor edx, ebx
shr esi, 3
xor edx, esi
add edi, edx
add edi, dword [eax - 0x38]
mov edx, dword [eax - 0x14]
add edx, edi
mov edi, dword [eax - 0x30]
mov esi, dword [eax + 4]
mov ebx, edi
rol ebx, 0xe
mov ebp, edi
ror ebp, 7
xor ebx, ebp
shr edi, 3
xor ebx, edi
mov edi, esi
rol edi, 0xf
mov ebp, esi
rol ebp, 0xd
xor edi, ebp
shr esi, 0xa
xor edi, esi
mov esi, dword [eax - 0x34]
add ebx, edi
add ebx, dword [eax - 0x10]
mov edi, dword [eax - 0x2c]
add esi, ebx
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
rol ebp, 0xd
xor ebx, ebp
mov dword [eax + 8], edx
shr edx, 0xa
xor ebx, edx
mov edx, edi
rol edx, 0xe
mov ebp, edi
ror ebp, 7
xor edx, ebp
mov ebp, edi
shr ebp, 3
xor edx, ebp
add ebx, edx
add ebx, dword [eax - 0xc]
mov edx, dword [eax - 0x28]
add ebx, dword [eax - 0x30]
mov ebp, esi
mov dword [eax + 0x10], ebx
mov ebx, esi
rol ebx, 0xf
rol ebp, 0xd
xor ebx, ebp
mov dword [eax + 0xc], esi
shr esi, 0xa
xor ebx, esi
mov esi, edx
rol esi, 0xe
mov ebp, edx
ror ebp, 7
xor esi, ebp
shr edx, 3
xor esi, edx
add ebx, esi
add ebx, dword [eax - 8]
add ebx, edi
mov dword [eax + 0x14], ebx
add eax, 0x10
sub dword [esp + 0x38], 1
jne 0x40f070
mov eax, dword [ecx + 0x8c]
mov edx, dword [ecx + 0x90]
mov esi, dword [ecx + 0x88]
mov ebp, dword [ecx + 0xa4]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x9c]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0xa0]
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 0x98]
mov dword [esp + 0x28], eax
xor ecx, ecx
mov edi, edi
mov ebx, dword [esp + 0x24]
mov eax, edx
ror eax, 0xb
mov edi, edx
rol edi, 7
xor eax, edi
and ebx, edx
mov edi, edx
ror edi, 6
xor eax, edi
mov edi, edx
not edi
and edi, dword [esp + 0x28]
xor edi, ebx
add eax, edi
add eax, dword [ecx + 0x6c89f0]
mov edi, esi
add eax, dword [esp + ecx + 0x40]
mov ebx, esi
add eax, ebp
mov ebp, dword [esp + 0x14]
ror edi, 0xd
rol ebx, 0xa
xor edi, ebx
mov ebx, esi
ror ebx, 2
xor edi, ebx
mov ebx, dword [esp + 0x14]
xor ebx, esi
and ebx, dword [esp + 0x18]
and ebp, esi
xor ebx, ebp
mov ebp, dword [esp + 0x28]
add edi, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x1c]
add edi, eax
mov dword [esp + 0x28], ebx
lea ebx, [edx + eax]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
mov eax, ebx
ror eax, 0xb
mov edx, ebx
rol edx, 7
xor eax, edx
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x24]
and esi, ebx
mov edx, ebx
ror edx, 6
xor eax, edx
mov edx, ebx
not edx
and edx, dword [esp + 0x28]
xor edx, esi
add eax, edx
add eax, dword [ecx + 0x6c89f4]
mov edx, edi
add eax, dword [esp + ecx + 0x44]
mov esi, edi
add eax, ebp
mov ebp, dword [esp + 0x14]
ror edx, 0xd
rol esi, 0xa
xor edx, esi
mov esi, edi
ror esi, 2
xor edx, esi
mov esi, dword [esp + 0x14]
xor esi, edi
and esi, dword [esp + 0x18]
and ebp, edi
xor esi, ebp
mov ebp, dword [esp + 0x28]
add edx, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], esi
add edx, eax
mov esi, dword [esp + 0x1c]
add esi, eax
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x14], edi
mov eax, esi
ror eax, 0xb
mov edi, esi
rol edi, 7
xor eax, edi
mov edi, esi
ror edi, 6
xor eax, edi
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x24]
and ebx, esi
mov edi, esi
not edi
and edi, dword [esp + 0x28]
xor edi, ebx
add eax, edi
add eax, dword [ecx + 0x6c89f8]
mov edi, edx
add eax, dword [esp + ecx + 0x48]
mov ebx, edx
add eax, ebp
mov ebp, dword [esp + 0x14]
ror edi, 0xd
rol ebx, 0xa
xor edi, ebx
mov ebx, edx
ror ebx, 2
xor edi, ebx
mov ebx, dword [esp + 0x14]
xor ebx, edx
and ebx, dword [esp + 0x18]
and ebp, edx
xor ebx, ebp
mov ebp, dword [esp + 0x28]
add edi, ebx
mov ebx, dword [esp + 0x24]
add edi, eax
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], ebx
lea ebx, [esi + eax]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x14], edx
mov eax, ebx
ror eax, 0xb
mov edx, ebx
rol edx, 7
xor eax, edx
mov edx, ebx
ror edx, 6
xor eax, edx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x24]
and esi, ebx
mov edx, ebx
not edx
and edx, dword [esp + 0x28]
xor edx, esi
add eax, edx
add eax, dword [ecx + 0x6c89fc]
mov esi, edi
add eax, dword [esp + ecx + 0x4c]
mov edx, edi
add eax, ebp
ror esi, 0xd
rol edx, 0xa
xor esi, edx
mov edx, edi
ror edx, 2
xor esi, edx
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
xor edx, edi
and edx, dword [esp + 0x18]
and ebp, edi
xor edx, ebp
mov ebp, dword [esp + 0x28]
add esi, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
add ecx, 0x10
add edx, eax
add esi, eax
cmp ecx, 0x100
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
jl 0x40f190
mov ecx, dword [esp + 0x144]
add dword [ecx + 0x98], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
add dword [ecx + 0x94], eax
add dword [ecx + 0x9c], edx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
add dword [ecx + 0xa0], eax
add dword [ecx + 0x88], esi
add dword [ecx + 0x8c], edi
add dword [ecx + 0x90], ebx
add dword [ecx + 0xa4], ebp
mov eax, dword [esp + 0x3c]
sub edx, 0x40
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], edx
jne 0x40efc0
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x130
ret 4