Function at 0x45a560
Capabilities:
Encode data using xor
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x4e01d4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call fcn.00447e38
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
jne 0x45a58d
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
xor eax, eax
xor edi, edi
cmp dword [ebp + 0x20], eax
push edi
push edi
push dword [ebp + 0x14]
setne al
push dword [ebp + 0x10]
lea eax, [eax*8 + 1]
push eax
push ebx
call fcn.00459d26
add esp, 0x18
mov dword [ebp - 0xc], eax
test eax, eax
je 0x45a63d
add eax, eax
mov dword [ebp - 8], eax
lea ecx, [eax + 8]
cmp eax, ecx
sbb eax, eax
and eax, ecx
je 0x45a634
cmp eax, 0x400
ja 0x45a5e5
call fcn.0043e780
mov esi, esp
test esi, esi
je 0x45a636
mov dword [esi], 0xcccc
jmp 0x45a5f8
push eax
call fcn.00454c15
mov esi, eax
pop ecx
test esi, esi
je 0x45a636
mov dword [esi], 0xdddd
add esi, 8
test esi, esi
je 0x45a636
push dword [ebp - 8]
push edi
push esi
call fcn.00440d00
push dword [ebp - 0xc]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
jne 0x45a623
push 1
push ebx
call fcn.00459d26
add esp, 0x24
test eax, eax
je 0x45a636
add dword [ebx - 0x18], edx
or esi, edi
invalid
pushal
pushfd
xor esi, eax
and esi, edi
test esi, 0x13ccbc86
jo 0x45a614
or esi, edi
call fcn.00411d44
invalid
ja 0x45a631
push dword [ebx]
lds esp, [ecx]
inc cl
ljmp 0xf18a
xor eax, ebp
and esi, edi
shr edx, 0x14
xor eax, 0xbf18a15
rol esi, 0x1f
mov ecx, dword [0x4e1092]
mov ecx, 0xa9b680
adc al, 0x81
invalid
sub esi, dword [0x4e440a]
neg eax
rol edi, 0x1c
dec esi
inc esi
dec esi
shr esi, 0xb
inc eax
neg esi
ror esi, 0xe
rol eax, 0x1d
or dword [0x4e771a], 0x334c4a9
loop 0x45a652
xor esi, eax
mov ebx, esi
ror esi, 1
or eax, eax
xor edx, esp
ror ecx, 0x14
test eax, ebp
jo 0x45a611
inc eax
shl edi, 0x10
xor esi, eax
xor esi, 0x23e7cd27
sub esi, eax
dec ecx
mov ecx, dword [0x4e559f]
test eax, ecx
jo 0x45a71d
int 0xe7
and ebp, dword [ebx]
invalid
rol edx, 4
xor eax, esp
mov edi, dword [0x4e4a9a]
test esi, 0x6cc4914
jo 0x45a637
mov eax, esp
rol eax, 0x1b
shr edx, 0x1d
rol eax, 0x12
sub eax, ebp
or eax, eax
xor esi, eax
and eax, 0x1b7fade0
or esi, edi
xor edx, esi
mov ecx, 0x13e34
xor dword [0x4e7915], esi
neg esi
dec edx
shr esi, 8
ror edx, 0x12
xchg esi, eax
neg esi
inc esi
ror esi, 0x1d
call fcn.00413174
inc esi
call fcn.00411d44
rol esi, 0x1d
shl edx, 0x1c
loop 0x45a6d6
inc esi
rol edi, 2
and eax, 0x65cc78c
test ecx, eax
jo 0x45a693
mov ebx, eax
neg ebx
xor eax, esi
mov edx, 0x1711806c
mov dword [0x4e7557], edx
xor eax, 0x1910b908
ror edx, 0x16
xchg eax, edx
add eax, 0x2286a5ed
call fcn.0040835f
dec edx
sub eax, 0x1f6d0ac
dec esi
add byte [ecx + 0x10b908f0], al
sbb ecx, eax
retf 0x8716
cli
dec dword [edx - 0x7f]
call 0x23c77e8
dec eax
test ebp, 0x9a7102d
jb 0x45a733
mov esi, 0x11f3d3f6
or esi, edi
neg ecx
and esi, 0x24f2e536
shl esi, 0x16
test esi, ebp
jo 0x45a719
and ebx, eax
not edx
or esi, edi
test ebx, edi
jo 0x45a74e
mov esi, eax
mov dword [0x4e74fc], ebx
mov ecx, 0xd5beb6
neg esi
rol eax, 0xc
or dword [0x4e79c1], esi
xchg eax, eax
shl eax, 6
and dword [0x4e7666], 0x1cefd32
test edi, edi
jo 0x45a800
inc esi
neg eax
loop 0x45a772
call fcn.00413174
xchg edx, eax
mov edx, dword [0x4e1452]
call fcn.00404df0
shl esi, 8
sub edx, eax
mov dword [0x4e79ee], esi
or edx, eax
or eax, eax
xor ebx, esp
add ecx, 0x2792f53
inc eax
xor esi, eax
not esi
or esi, edi
call fcn.00413174
mov esi, 0xd50e4fc
not esi
dec eax
add edx, 0x135f5d32
xor esi, eax
xor esi, eax
neg esi
call fcn.00413174
xor esi, edx
mov eax, 0x2a48463b
shr ebx, 0x12
not esi
or ebx, dword [0x4e4343]
push 0
xor eax, 0x140eacbc
add eax, 0xeea7f0
neg eax
add edi, ebp
cmpsd dword [esi], dword es:[edi]
out dx, al
add bh, dh
fadd dword [ebx]
std
or dword [0x4e75ea], edi
neg edi
add edi, dword [0x4e4074]
dec esi
xor esi, dword [0x4e5c18]
dec esi
xor ecx, dword [0x4e5b4c]
inc ebx
xchg esi, edx
not esi
mov dword [0x4e7642], 0x78c5a9
xor eax, eax
xor esi, eax
not eax
xchg esi, esi
add edx, ecx
call fcn.00411d44
call fcn.00405dd4
push 0x320033
inc edx
neg edx
mov dword [0x4e76ca], esi
retf 0x4e76
add byte [ecx + 0x5a6c2ff1], al
adc eax, dword [ebx]
invalid
neg esi
rol edi, 0x17
xor dword [0x4e7509], 0x19678fd4
sub edi, dword [0x4e0955]
xor ecx, edi
neg edx
xor eax, 0x56b2882
ror eax, 0x19
sub eax, eax
xor edi, eax
sub ecx, ebp
call fcn.0040a952
call fcn.00404b48
xor dword [0x4e7862], 0xcf5c0d8
sub dword [0x4e7821], ecx
or eax, 0x4e7821
push 0x6c0065
sub dword [0x4e7858], 0x382d12
xor eax, 0x11e42d3c
inc esi
mov dword [0x4e7926], 0x1704224
call fcn.0041dabe
xor dword [0x4e7766], edi
xor esi, eax
inc esi
sub eax, 0x18d68c67
call fcn.00413174
sub ecx, dword [0x4e358f]
dec eax
call fcn.00411d44
inc ebx
call fcn.00407551
call fcn.00407652
call fcn.00406134
mov dword [0x4e7a16], 0x15952358
xor dword [0x4e78f8], 0x6f4dd45
push 0x6e0072
neg esi
call fcn.0041dabe
add esi, eax
xchg eax, eax
add esi, eax
sub esi, dword [0x4e5d90]
xchg edx, esi
call fcn.0041dabe
or dword [0x4e790a], ecx
rol eax, 0x1e
sub dword [0x4e78fa], edx
call fcn.004014a5
call fcn.00408b5c
push 0x65006b
inc esi
xor esi, eax
xchg edx, eax
call fcn.0040a952
xor dword [0x4e7a14], edx
sub edi, dword [0x4e5b70]
inc esi
xor dword [0x4e76dc], 0x15f583d8
add edi, esp
xor edi, dword [0x4e4368]
rol eax, 7
add esi, eax
ror esi, 0x18
xor ecx, dword [0x4e6094]
not esi
inc eax
not eax
add edi, eax
ror edx, 4
xchg edx, esi
inc esi
ror edi, 0x19
or dword [0x4e795a], 0xa0b7809
sub dword [0x4e7958], edi
call fcn.004055a8
push esp
sub ecx, dword [0x4e5f58]
call fcn.0040a952
or dword [0x4e753e], 0x3cb034c
call fcn.00413174
mov dword [0x4e78a8], edi
xchg esi, eax
sub ebx, dword [0x4e07f0]
sub ecx, esi
xor edx, esi
sub esi, eax
not eax
xchg eax, eax
xor edx, eax
mov dword [0x4e79f6], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
add edi, edx
xor esi, eax
sub ebx, ebp
call fcn.00408b28
add edi, edx
neg esi
call fcn.00404f35
dec esi
ror eax, 0x1c
add ecx, esp
xchg esi, eax
xor eax, esi
add esi, eax
neg eax
sub edx, dword [0x4e7f0e]
dec eax
xor esi, ecx
xor esi, ecx
inc eax
neg eax
sub esi, eax
xor eax, esi
xchg esi, eax
sub ecx, esp
rol eax, 0x1c
inc esi
call fcn.00407c6c
neg esi
sub edi, edx
add ebx, ebp
xor esi, eax
sub edi, edx
add esp, 0x14
add ecx, edx
dec ebx
sub dword [0x4e755c], edi
xor ecx, dword [0x4e7d30]
ror esi, 0xd
xor esi, eax
ror eax, 0x1f
xor esi, dword [0x4e7b2a]
rol eax, 0x1e
dec eax
sub ecx, dword [0x4e7ba7]
call fcn.004046c8
xor edx, dword [0x4e7a25]
ror esi, 4
xor esi, eax
inc esi
sub esi, 0x5887890
inc eax
or dword [0x4e755a], ebx
sub esi, 0x89f148
call fcn.0040157d
add esi, 0x89f148
mov dword [0x4e767e], esi
dec eax
add esi, 0x5887890
dec esi
xor esi, eax
rol esi, 4
call fcn.00402789
inc eax
ror eax, 0x1e
rol eax, 0x1f
xor esi, eax
rol esi, 0xd
sub dword [0x4e76af], ecx
inc ebx
sub ecx, edx
push 0
rol esi, 0x15
sub edx, ecx
xor edi, dword [0x4e7bcf]
inc esi
or dword [0x4e747f], ecx
xor esi, eax
not esi
xor eax, edx
neg ecx
xor esi, 0x3cdeccc
add edi, 0x2bb2bee2
mov dword [0x4e748e], ecx
sub esi, dword [0x4e7b3f]
xor ecx, dword [0x4e7be8]
not edi
xor ebx, esi
neg eax
xchg esi, eax
dec eax
xor ecx, dword [0x4e7faf]
xor ebx, 0x1f9e8c60
xor ebx, 0x1f9e8c60
inc eax
xchg esi, eax
neg eax
xor ebx, esi
not edi
sub edi, 0x2bb2bee2
xor esi, 0x3cdeccc
neg ecx
xor eax, edx
not esi
xor esi, eax
xor dword [0x4e776c], edx
dec esi
add edx, ecx
ror esi, 0x15
push 0x636f6c6c
xchg eax, eax
xor esi, dword [0x4e7a68]
sub esi, esp
sub esi, dword [0x4e7aae]
call fcn.00404fad
xor esi, eax
xor ebx, esi
call fcn.004089f8
xchg esi, edx
call fcn.00402c19
xor esi, 0xd368591
mov dword [0x4e79f6], 0xf86a1eb
xor esi, 0xd368591
xchg esi, edx
xor ebx, esi
xor esi, eax
call fcn.004037d4
add esi, esp
xchg eax, eax
push 0x416c6175
add ecx, dword [0x4e7a97]
not edx
ror eax, 0x1a
mov dword [0x4e76fe], ecx
dec esi
mov dword [0x4e7635], edi
add ebx, 0x595a1b4
mov dword [0x4e7715], 0xa459557
neg eax
mov dword [0x4e76fc], 0xc421e
neg eax
sub ebx, 0x595a1b4
xor dword [0x4e78f4], esi
inc esi
or dword [0x4e76d6], edi
rol eax, 0x1a
not edx
push 0x74726956
inc edi
add esi, dword [0x4e7df6]
call fcn.00403644
xor esi, esp
xor ecx, dword [0x4e7afa]
mov dword [0x4e79e1], 0xa97514
xor ecx, edi
xor edi, esp
sub esi, dword [0x4e7cba]
sub edx, dword [0x4e7cde]
call fcn.00401d44
mov dword [0x4e7598], ecx
inc ebx
xor edx, dword [0x4e7a54]
ror edi, 0x16
add dword [0x4e794b], ecx
mov dword [0x4e7768], ecx
xor esi, dword [0x4e7ae5]
inc esi
xor ecx, dword [0x4e7dfa]
add ecx, ebx
xor esi, 0x1e64f2ba
xor esi, 0x1e64f2ba
sub ecx, ebx
dec esi
sub dword [0x4e7776], ecx
rol edi, 0x16
dec ebx
xor dword [0x4e77ca], esi
xor edi, esp
xor ecx, edi
xor esi, esp
call fcn.0040522c
dec edi
push esp
sub esi, eax
neg edi
call fcn.004084fb
add ecx, eax
dec esi
xor esi, eax
sub dword [0x4e7606], 0x2a814220
xor edx, eax
inc eax
call fcn.00401272
add ecx, dword [0x4e7cf6]
call fcn.00408562
or dword [0x4e768c], 0xb0d29ea
xchg ebx, eax
add edi, dword [0x4e7a46]
call fcn.004032cc
call fcn.0040683e
xchg ebx, eax
mov dword [0x4e7674], 0x1240fa80
call fcn.004014a5
dec eax
xor edx, eax
xor esi, eax
inc esi
sub ecx, eax
neg edi
add esi, eax
push eax
add dword [0x4e7684], edi
sub ecx, esi
mov dword [0x4e7472], ecx
sub edx, esp
dec edi
call fcn.00403a94
neg esi
call fcn.00407551
ror ecx, 0x19
call fcn.004011ab
dec edx
rol ebx, 6
dec esi
inc esi
ror ebx, 6
inc edx
call fcn.0040449d
rol ecx, 0x19
call fcn.00402789
neg esi
inc edi
add edx, esp
sub dword [0x4e7532], ebx
add ecx, esi
mov dword [0x4e793a], ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
neg esi
ror eax, 1
dec ebx
not esi
inc eax
add edi, edx
xor edi, dword [0x4e7bf0]
call fcn.00402fbd
sub edi, dword [0x4e7c98]
add ecx, dword [0x4e7ef0]
mov dword [0x4e7877], ebx
mov dword [0x4e7986], esi
sub edi, edx
dec eax
not esi
inc ebx
rol eax, 1
neg esi
add esp, 0x10
sub ebx, dword [0x4e7a56]
sub ecx, esp
neg edx
dec eax
call fcn.00405dd4
rol ecx, 0x18
mov dword [0x4e74d6], ebx
inc esi
ror esi, 0xb
xor dword [0x4e74c4], ecx
xor ecx, dword [0x4e7c08]
xor dword [0x4e7456], 0x112750d
dec esi
call fcn.004089f8
neg esi
sub edx, eax
xchg esi, eax
call fcn.0040449d
call fcn.0040449d
xchg esi, eax
add edx, eax
neg esi
inc esi
or dword [0x4e774a], 0xc437c99
or dword [0x4e79e2], ecx
rol esi, 0xb
dec esi
mov dword [0x4e78b5], esi
ror ecx, 0x18
call fcn.00406704
inc eax
neg edx
add ecx, esp
push 0x40
inc eax
call fcn.00406be0
xor ebx, esi
sub ecx, dword [0x4e7cd0]
neg eax
xor dword [0x4e7535], 0x4834ddc
call fcn.00402617
sub esi, eax
xor ecx, dword [0x4e7d01]
ror edx, 0x1a
rol edx, 0x1a
add esi, eax
mov dword [0x4e7870], 0x7d26615
neg eax
xor ebx, esi
call fcn.00402e37
dec eax
push 0x3000
call fcn.00406134
sub esi, eax
add esi, ebx
xor ecx, 0x37964f3b
xor edi, dword [0x4e7d2c]
not ebx
inc edx
ror esi, 0x13
add esi, esp
dec eax
sub esi, 0xccb9460
inc edx
not esi
xchg edi, eax
xor edx, eax
xor dword [0x4e7541], 0x1da9e07a
not esi
xor esi, eax
xor dword [0x4e79de], 0x7c562bb
xor esi, eax
xor esi, eax
xor dword [0x4e78f2], 0xf34f48e
xor esi, eax
not esi
xor dword [0x4e77e6], 0x20991d7d
xor edx, eax
xchg edi, eax
not esi
dec edx
add esi, 0xccb9460
inc eax
sub esi, esp
rol esi, 0x13
dec edx
not ebx
xor ecx, 0x37964f3b
sub esi, ebx
add esi, eax
call fcn.004086fe
push 0x5c4
neg esi
xor edx, dword [0x4e7bf7]
call fcn.00401272
sub ecx, dword [0x4e7a37]
call fcn.0040712c
xor ecx, edi
sub edx, 0x5d19ec
call fcn.00402f35
add eax, 0x943e2a4
mov dword [0x4e77d0], ecx
xor ebx, 0x3eae536
xor esi, dword [0x4e7cb6]
xor ebx, 0x3eae536
sub dword [0x4e78dc], ecx
sub eax, 0x943e2a4
call fcn.00407652
add edx, 0x5d19ec
xor ecx, edi
call fcn.0040174d
call fcn.004089f8
neg esi
push 0
sub ebx, dword [0x4e7c27]
rol eax, 0x16
call fcn.00405dd4
xor dword [0x4e7778], 0x5ce4c0d
call fcn.00403b3b
xor edi, eax
xor dword [0x4e78df], 0x2126a840
sub edi, dword [0x4e7c7a]
add dword [0x4e7a08], 0xabf4d18
sub ecx, dword [0x4e7e37]
call fcn.00405af8
xor ecx, dword [0x4e7a9a]
sub esi, 0x23d0ca9b
mov dword [0x4e76d8], ecx
sub dword [0x4e78ca], esi
call fcn.00404df0
add esi, eax
sub esi, eax
call fcn.00407e62
and dword [0x4e795e], edi
mov dword [0x4e776c], ebx
add esi, 0x23d0ca9b
call fcn.00402a8d
and dword [0x4e75be], 0x30d04046
xor edi, eax
sub dword [0x4e7958], 0x703e84
call fcn.00401d44
ror eax, 0x16
call eax