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

Disassembly:
sub esp, 0x14c
mov edx, dword [esp + 0x154]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x15c]
push edi
add esi, 8
lea edi, [esp + 0x38]
push 8
mov dword [esp + 0x5c], esi
pop ecx
rep movsd dword es:[edi], dword [esi]
xor esi, esi
add edx, 2
mov edi, esi
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx]
shl ecx, 8
lea edx, [edx + 4]
or ecx, eax
movzx eax, byte [edx - 3]
shl ecx, 8
or ecx, eax
mov dword [esp + edi*4 + 0x5c], ecx
inc edi
cmp edi, 0x10
jb 0x407f4c
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x24], 0x40
mov dword [esp + 0x1c], eax
jmp 0x407fb5
mov ecx, dword [esp + 0x10]
mov edx, esi
mov eax, esi
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, ebp
xor eax, ebx
and eax, esi
xor eax, ebx
add edx, eax
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401ea8]
add edx, dword [esp + eax + 0x5c]
add edx, edi
mov edi, dword [esp + 0x1c]
add ecx, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], ecx
mov eax, edi
rol eax, 0xa
mov ecx, edi
ror ecx, 0xd
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov edi, eax
add ecx, edx
and eax, dword [esp + 0x1c]
or edi, dword [esp + 0x1c]
and edi, dword [esp + 0x14]
or edi, eax
add edi, ecx
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
xor edx, eax
mov eax, ebp
xor eax, esi
and eax, ecx
mov ecx, edi
xor eax, ebp
ror ecx, 0xd
add edx, eax
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401eac]
add edx, dword [esp + eax + 0x60]
mov eax, edi
rol eax, 0xa
add edx, ebx
add dword [esp + 0x14], edx
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov ebx, eax
add ecx, edx
or ebx, edi
and eax, edi
and ebx, dword [esp + 0x18]
or ebx, eax
add ebx, ecx
mov ecx, dword [esp + 0x14]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x10]
xor eax, esi
and eax, ecx
mov ecx, ebx
xor eax, esi
ror ecx, 0xd
add edx, eax
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401eb0]
add edx, dword [esp + eax + 0x64]
mov eax, ebx
rol eax, 0xa
add edx, ebp
add dword [esp + 0x18], edx
xor ecx, eax
mov eax, ebx
mov ebp, edi
ror eax, 2
or ebp, ebx
xor ecx, eax
and ebp, dword [esp + 0x1c]
add ecx, edx
mov eax, edi
and eax, ebx
or ebp, eax
add ebp, ecx
mov ecx, dword [esp + 0x18]
mov edx, ecx
mov dword [esp + 0x28], ebp
ror edx, 0xb
mov eax, ecx
rol eax, 7
xor edx, eax
mov eax, ecx
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x10]
and eax, ecx
mov ecx, ebp
xor eax, dword [esp + 0x10]
add edx, eax
ror ecx, 0xd
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401eb4]
add edx, dword [esp + eax + 0x68]
mov eax, ebp
rol eax, 0xa
add edx, esi
add dword [esp + 0x1c], edx
xor ecx, eax
mov eax, ebp
mov esi, ebp
ror eax, 2
or esi, ebx
xor ecx, eax
and esi, edi
add ecx, edx
mov eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, ebx
or esi, eax
mov edx, ebp
ror edx, 0xb
mov eax, ebp
rol eax, 7
add esi, ecx
xor edx, eax
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x18]
and eax, ebp
xor eax, dword [esp + 0x14]
add edx, eax
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401eb8]
add edx, dword [esp + eax + 0x6c]
add edx, dword [esp + 0x10]
add edi, edx
mov ecx, esi
mov eax, esi
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x28]
or eax, esi
add ecx, edx
and eax, ebx
mov edx, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
and eax, esi
ror edx, 0xb
or dword [esp + 0x10], eax
mov eax, edi
rol eax, 7
xor edx, eax
add dword [esp + 0x10], ecx
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x18]
xor eax, ebp
and eax, edi
xor eax, dword [esp + 0x18]
add edx, eax
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401ebc]
add edx, dword [esp + eax + 0x70]
mov eax, dword [esp + 0x10]
mov ecx, eax
add edx, dword [esp + 0x14]
rol eax, 0xa
add ebx, edx
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x10]
mov ebp, eax
add ecx, edx
and eax, esi
or ebp, esi
mov dword [esp + 0x14], ebp
mov edx, ebx
mov ebp, dword [esp + 0x28]
and dword [esp + 0x14], ebp
or dword [esp + 0x14], eax
mov eax, ebx
add dword [esp + 0x14], ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x1c]
xor eax, edi
and eax, ebx
mov ebx, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
mov ecx, ebx
add edx, eax
ror ecx, 0xd
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401ec0]
add edx, dword [esp + eax + 0x74]
mov eax, ebx
add edx, dword [esp + 0x18]
rol eax, 0xa
add ebp, edx
xor ecx, eax
mov dword [esp + 0x28], ebp
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, ebx
or eax, dword [esp + 0x10]
add ecx, edx
and eax, esi
mov edx, ebp
mov dword [esp + 0x18], eax
mov eax, ebx
and eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
or ebx, eax
ror edx, 0xb
mov eax, ebp
add ebx, ecx
rol eax, 7
xor edx, eax
mov dword [esp + 0x18], ebx
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, edi
xor eax, dword [esp + 0x2c]
and eax, ebp
xor eax, edi
add edx, eax
mov eax, dword [esp + 0x20]
add edx, dword [eax + 0x401ec4]
add edx, dword [esp + eax + 0x78]
mov eax, ebx
add edx, dword [esp + 0x1c]
mov ecx, eax
rol eax, 0xa
add esi, edx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x14]
mov ebp, eax
mov dword [esp + 0x1c], eax
or ebp, ebx
and eax, ebx
and ebp, dword [esp + 0x10]
add ecx, edx
mov ebx, ebp
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x28]
or ebx, eax
mov eax, dword [esp + 0x20]
add ebx, ecx
add eax, 0x20
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
cmp eax, 0x40
jb 0x407fb1
push 0x40
mov dword [esp + 0x24], esi
pop ebp
mov ecx, dword [esp + ebp + 0x54]
mov edx, ecx
mov esi, dword [esp + ebp + 0x20]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x24]
add edx, ecx
mov ecx, dword [esp + 0x20]
add edx, dword [esp + ebp + 0x1c]
mov ebp, dword [esp + ebp + 0x40]
add ebp, edx
mov edx, ecx
mov dword [esp + eax + 0x5c], ebp
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov dword [esp + 0x34], ebp
mov eax, ecx
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x28]
xor eax, ebx
and eax, ecx
xor eax, ebx
add edx, eax
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x401ea8]
add edx, ebp
mov ebp, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ebp
rol eax, 0xa
add edx, edi
add dword [esp + 0x10], edx
ror ecx, 0xd
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov ebx, eax
add ecx, edx
and eax, ebp
or ebx, ebp
and ebx, dword [esp + 0x14]
or ebx, eax
add ebx, ecx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + ebx + 0x58]
mov edx, ecx
mov edi, dword [esp + ebx + 0x24]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x24]
add edx, ecx
add edx, dword [esp + ebx + 0x44]
lea ebx, [edx + esi]
mov esi, dword [esp + 0x10]
mov dword [esp + eax + 0x60], ebx
mov edx, esi
ror edx, 0xb
mov eax, esi
rol eax, 7
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x20]
and eax, esi
mov esi, dword [esp + 0x30]
xor eax, dword [esp + 0x28]
mov ecx, esi
add edx, eax
ror ecx, 0xd
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x401eac]
mov eax, esi
add edx, dword [esp + 0x2c]
rol eax, 0xa
add edx, ebx
xor ecx, eax
add dword [esp + 0x14], edx
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, ebp
or eax, esi
add ecx, edx
and eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, ebp
mov ebp, dword [esp + 0x34]
and eax, esi
mov esi, dword [esp + 0x2c]
mov edx, ebp
or esi, eax
rol edx, 0xf
mov eax, dword [esp + 0x24]
add esi, ecx
mov dword [esp + 0x2c], esi
mov esi, dword [esp + eax + 0x28]
mov eax, ebp
rol eax, 0xd
mov ecx, esi
xor edx, eax
rol ecx, 0xe
mov eax, esi
shr ebp, 0xa
ror eax, 7
xor ebp, edx
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x24]
add ebp, ecx
add ebp, dword [esp + eax + 0x48]
add ebp, edi
mov edi, dword [esp + 0x14]
mov dword [esp + eax + 0x64], ebp
mov edx, edi
ror edx, 0xb
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x20]
and eax, edi
xor eax, dword [esp + 0x20]
add edx, eax
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov ecx, edi
ror ecx, 0xd
add edx, dword [eax + 0x401eb0]
mov eax, edi
rol eax, 0xa
add edx, ebp
add edx, dword [esp + 0x28]
xor ecx, eax
add dword [esp + 0x18], edx
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
add ecx, edx
or dword [esp + 0x28], edi
mov eax, dword [esp + 0x1c]
and dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
and eax, edi
mov edi, dword [esp + 0x28]
or edi, eax
mov eax, dword [esp + 0x24]
add edi, ecx
mov ecx, ebx
mov dword [esp + 0x28], edi
rol ecx, 0xf
mov edi, dword [esp + eax + 0x2c]
mov edx, edi
rol edx, 0xe
mov eax, edi
ror eax, 7
xor edx, eax
mov eax, edi
shr eax, 3
xor edx, eax
mov eax, ebx
rol eax, 0xd
xor ecx, eax
shr ebx, 0xa
mov eax, dword [esp + 0x24]
xor ebx, ecx
add ebx, edx
add ebx, dword [esp + eax + 0x4c]
add ebx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + eax + 0x68], ebx
mov edx, esi
ror edx, 0xb
mov eax, esi
rol eax, 7
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x10]
and eax, esi
mov esi, dword [esp + 0x28]
xor eax, dword [esp + 0x10]
mov ecx, esi
add edx, eax
ror ecx, 0xd
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x401eb4]
mov eax, esi
rol eax, 0xa
add edx, ebx
add edx, dword [esp + 0x20]
xor ecx, eax
add dword [esp + 0x1c], edx
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, esi
or eax, dword [esp + 0x2c]
and eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, esi
and eax, dword [esp + 0x2c]
add ecx, edx
mov esi, dword [esp + 0x20]
or esi, eax
mov eax, dword [esp + 0x24]
add esi, ecx
mov ecx, ebp
mov dword [esp + 0x20], esi
rol ecx, 0xf
mov esi, dword [esp + eax + 0x30]
mov edx, esi
rol edx, 0xe
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, ebp
rol eax, 0xd
xor ecx, eax
shr ebp, 0xa
mov eax, dword [esp + 0x24]
xor ebp, ecx
add ebp, edx
add ebp, dword [esp + eax + 0x50]
add ebp, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + eax + 0x6c], ebp
mov edx, edi
ror edx, 0xb
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x18]
and eax, edi
mov edi, dword [esp + 0x20]
xor eax, dword [esp + 0x14]
mov ecx, edi
add edx, eax
ror ecx, 0xd
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x401eb8]
mov eax, dword [esp + 0x30]
add edx, ebp
add edx, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x54], eax
mov eax, edi
rol eax, 0xa
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
add ecx, edx
or eax, edi
mov edx, ebx
and eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
and eax, edi
rol edx, 0xf
mov edi, dword [esp + 0x10]
or edi, eax
mov eax, dword [esp + 0x24]
add edi, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x44], edi
mov edi, dword [esp + eax + 0x34]
mov eax, ebx
rol eax, 0xd
xor edx, eax
shr ebx, 0xa
xor edx, ebx
mov ecx, dword [esp + 0x30]
mov ebx, edi
rol ebx, 0xe
mov eax, edi
ror eax, 7
xor ebx, eax
mov eax, edi
shr eax, 3
xor ebx, eax
mov eax, dword [esp + 0x24]
add edx, dword [esp + eax + 0x54]
add ebx, edx
mov edx, ecx
add ebx, esi
ror edx, 0xb
mov dword [esp + eax + 0x70], ebx
mov eax, ecx
rol eax, 7
xor edx, eax
mov esi, dword [esp + 0x10]
mov eax, ecx
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x1c]
and eax, ecx
mov ecx, esi
xor eax, dword [esp + 0x18]
add edx, eax
ror ecx, 0xd
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x401ebc]
mov eax, dword [esp + 0x2c]
add edx, ebx
add edx, dword [esp + 0x14]
add eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, esi
or eax, dword [esp + 0x20]
add ecx, edx
and eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov eax, esi
and eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x24]
add esi, ecx
mov ecx, ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x40], esi
mov esi, dword [esp + eax + 0x38]
mov edx, esi
rol edx, 0xe
mov eax, esi
ror eax, 7
xor edx, eax
rol ecx, 0xf
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, ebp
rol eax, 0xd
xor ecx, eax
shr ebp, 0xa
mov eax, dword [esp + 0x24]
xor ecx, ebp
mov ebp, dword [esp + 0x2c]
add edx, dword [esp + eax + 0x58]
add ecx, edx
mov edx, ebp
add ecx, edi
ror edx, 0xb
mov dword [esp + eax + 0x74], ecx
mov eax, ebp
rol eax, 7
xor edx, eax
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x30]
and eax, ebp
mov ebp, dword [esp + 0x28]
xor eax, dword [esp + 0x1c]
add edx, eax
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x401ec0]
mov eax, dword [esp + 0x14]
add edx, ecx
add edx, dword [esp + 0x18]
mov ecx, eax
rol eax, 0xa
add ebp, edx
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x28], ebp
mov eax, dword [esp + 0x14]
ror eax, 2
xor ecx, eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x14]
add ecx, edx
mov edi, eax
and eax, dword [esp + 0x10]
or edi, dword [esp + 0x10]
and edi, dword [esp + 0x20]
or edi, eax
mov eax, edi
mov dword [esp + 0x18], edi
add eax, ecx
mov edi, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + eax + 0x3c]
mov edx, ecx
rol edx, 0xe
mov eax, ecx
ror eax, 7
xor edx, eax
shr ecx, 3
xor edx, ecx
mov eax, ebx
add edx, dword [esp + 0x34]
mov ecx, ebx
rol eax, 0xd
rol ecx, 0xf
xor ecx, eax
shr ebx, 0xa
xor ecx, ebx
mov eax, ebp
mov ebx, dword [esp + 0x2c]
add ecx, edx
rol eax, 7
mov edx, ebp
ror edx, 0xb
add ecx, esi
mov esi, dword [esp + 0x24]
xor edx, eax
mov eax, ebp
ror eax, 6
xor edx, eax
mov eax, edi
xor eax, ebx
mov dword [esp + esi + 0x78], ecx
and eax, ebp
xor eax, edi
add edx, eax
mov eax, dword [esp + 0x20]
add edx, dword [esi + 0x401ec4]
add edx, ecx
add edx, dword [esp + 0x1c]
add eax, edx
mov dword [esp + 0x20], eax
mov ebp, dword [esp + 0x18]
mov ecx, ebp
mov dword [esp + 0x48], eax
mov eax, ebp
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x14]
mov esi, eax
add ecx, edx
or esi, ebp
and eax, ebp
and esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
or esi, eax
add esi, ecx
add ebp, 0x20
mov dword [esp + 0x1c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], ebp
cmp ebp, 0x100
jb 0x40830a
mov edx, dword [esp + 0x58]
xor ecx, ecx
pop edi
pop esi
pop ebp
pop ebx
mov eax, dword [esp + ecx*4 + 0x28]
add dword [edx], eax
inc ecx
lea edx, [edx + 4]
cmp ecx, 8
jb 0x4088dc
add esp, 0x14c
ret 8