Function at 0x401000
Capabilities:
Connect pipe
Encrypt data using chaskey
Hash data using murmur3
Read pipe
Write pipe

Disassembly:
rol ecx, 0x1f
shl edi, 0x1e
xor edx, ebx
shl ecx, 0x1c
mov edi, ebx
sub edi, 0x2be016dd
xchg ebx, edi
sub edx, 0x2be1feef
call sub.kernel32.dll_GetUserDefaultLCID
xor ebx, edi
ror edi, 1
rol edi, 0x16
cmp eax, 0xfffffed6
jne 0x40109d
call sub.kernel32.dll_WaitForSingleObject
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_CallNamedPipeA
call sub.user32.dll_IsDlgButtonChecked
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_CallNamedPipeA
call sub.oleaut32.dll_VarR4CmpR8
call sub.user32.dll_IsDlgButtonChecked
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_WaitForSingleObject
call sub.oleaut32.dll_VarR4CmpR8
call sub.oleaut32.dll_VarR4CmpR8
call sub.oleaut32.dll_VarR4CmpR8
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_CallNamedPipeA
call sub.oleaut32.dll_VarR4CmpR8
call sub.oleaut32.dll_VarR4CmpR8
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_CallNamedPipeA
ret
or edx, ebx
and edx, 0x2bf6def3
inc ebx
add edi, edx
xor edi, ecx
call sub.kernel32.dll_GetSystemDefaultLangID
mov edi, 0x2bfafc7d
xor ebx, edi
sub ecx, 0x2bfce238
xchg ebx, edi
xor ecx, ebx
cmp eax, 0xffffff09
jne 0x401121
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_WaitForSingleObject
call sub.oleaut32.dll_VarR4CmpR8
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_WaitForSingleObject
call sub.user32.dll_IsDlgButtonChecked
call sub.oleaut32.dll_VarR4CmpR8
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_CallNamedPipeA
call sub.user32.dll_IsDlgButtonChecked
call sub.oleaut32.dll_VarR4CmpR8
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
ret
ror ecx, 0x15
and edx, edi
call sub.kernel32.dll_GetUserDefaultLCID
dec ebx
cmp eax, 0xfffffee8
jne 0x401192
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_CallNamedPipeA
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_CallNamedPipeA
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_CallNamedPipeA
call sub.user32.dll_IsDlgButtonChecked
call sub.oleaut32.dll_VarR4CmpR8
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
call sub.oleaut32.dll_VarR4CmpR8
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_CallNamedPipeA
call sub.kernel32.dll_WaitForSingleObject
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_CallNamedPipeA
ret
neg ecx
sub ebx, edx
shl ebx, 5
mov edx, 0x2c168547
mov edx, ebx
dec edx
add edi, 0x2c199a3b
xor edx, ebx
call sub.kernel32.dll_GetUserDefaultLCID
ror ebx, 0x1b
or edx, 0x2c1e68a5
xor edx, 0x2c200614
mov edx, ebx
cmp eax, 0xffffff30
jne 0x40123e
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_WaitForSingleObject
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_WaitForSingleObject
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_CallNamedPipeA
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_WaitForSingleObject
call sub.oleaut32.dll_VarR4CmpR8
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_CallNamedPipeA
call sub.user32.dll_IsDlgButtonChecked
call sub.oleaut32.dll_VarR4CmpR8
call sub.kernel32.dll_WaitForSingleObject
call sub.user32.dll_IsDlgButtonChecked
call sub.kernel32.dll_WaitForSingleObject
call sub.kernel32.dll_WaitForSingleObject
call sub.user32.dll_IsDlgButtonChecked
call sub.oleaut32.dll_VarR4CmpR8
call sub.oleaut32.dll_VarR4CmpR8
ret
jmp 0x5a0ca2
add ebx, edi
sub edi, ecx
rol edx, 0xd
sub ebx, 0x31c4cbb4
jmp 0x5a253e
pop edx
xor ebx, ecx
and esi, ebx
inc ebx
xor ebx, edi
inc ecx
and edi, 0x409244f9
and ebx, 0x4092cc62
xchg esi, ebx
jmp 0x5a1e10
pop edx
or ebx, 0x428451b2
or ebx, 0x428e3e3e
or edi, 0x428eb667
ror esi, 0x18
or ebx, 0x428faefa
rol edi, 2
shr esi, 0x17
jmp 0x5a2a84
call edx
or ebx, 0x42c7133a
nop
xor ecx, edi
mov esi, ebx
sub esi, edi
jmp 0x5a0f79
push 0x31cfaa5f
mov edi, ecx
neg ecx
xor ebx, 0x4341cbdf
sub ebx, edi
sub edi, esi
or esi, ecx
add ebx, edi
add ebx, edi
or ebx, 0x4343346f
jmp 0x5a2724
call fcn.005a3539
not esi
bswap esi
xchg esi, edi
bswap ecx
and esi, edi
and ebx, esi
jmp 0x5a1f7f
push 0x31cfe2ff
bswap ebx
or esi, edi
and esi, ecx
xor ebx, 0x437cb4c0
mov esi, ecx
and esi, edi
or ecx, 0x437d6e4c
mov edi, 0x437da9b8
sub edi, esi
shl esi, 1
jmp 0x5a3236
push 0x31d222c7
mov ebx, esi
neg ebx
mov ecx, ebx
dec edi
xor edi, esi
add ebx, esi
not esi
xor edi, 0x43df7311
xchg ebx, ecx
jmp 0x5a3334
jmp loc.005a87e0
mov edx, 0x123b2f04
mov esi, 0x44873c3c
and ebx, 0x4487d6af
add ebx, edi
mov edi, 0x4488fe88
dec ecx
sub edi, ecx
or ebx, edi
and edi, 0x448b24dc
or esi, 0x448baa57
add ebx, ecx
jmp 0x5a2db4
mov edx, 0x123b2f04
add esi, ecx
xor ebx, esi
xchg esi, edi
bswap esi
and ecx, esi
shl ecx, 0xe
and ecx, esi
bswap esi
neg ecx
and edi, 0x455ff2f2
not ecx
add ebx, 0x4560d751
and ebx, edi
xchg ecx, esi
jmp 0x5a2704
push 0x31d28e1c
ror esi, 6
or ebx, 0x4586a1b6
and ebx, edi
ror edi, 0x1c
jmp 0x5a2df2