Function at 0x4045a4
Capabilities:
Encode data using xor
Encrypt data using chaskey
Get graphical window text
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
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
mov dword [esp], ebx
call fcn.004085ea
push eax
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebx, [ebx + eax + 1]
test dword [0x40b0f4], 0x2cbc3694
ja 0x4046c1
mov al, 0x40
add byte [esi + esi + 0x2772cbc], dl
and ebx, ebx
call fcn.00408420
rol eax, 0x1e
add edx, esp
and edx, esp
add eax, ebp
sub ebx, ebx
cmp edi, 0xcaa7a4b0
je 0x4046da
inc eax
add eax, ebp
not ebx
cmp dword [0x40b07f], edx
jge 0x4046ec
cmp dword [0x40b071], ecx
jg 0x4046f0
cmp ebx, ebp
jnp 0x4046f8
and dword [0x40b68c], eax
or ebx, 0x6a262d2b
mov dword [0x40b38c], esi
shl eax, 6
call fcn.0040221b
shl eax, 0x18
sub edx, 0x6ac53450
mov edx, dword [0x40b146]
neg edi
sub ecx, ebp
xor eax, 0x82ec6cba
test dword [0x40b04f], edx
jle 0x40472f
add esi, eax
dec ecx
sub edi, esi
not esi
mov ecx, 0x58eda87d
and eax, edi
mov edi, 0x6304f258
mov dword [0x40b7f4], ecx
shr eax, 0x1d
xor esi, esi
add dword [0x40b50e], ebx
ror esi, 0x1b
mov dword [0x40b6fa], edx
shr ebx, 0x11
xor eax, dword [0x40b0ea]
dec ecx
jne 0x404739
test edx, eax
jae 0x404771
and eax, 0x6448376b
call fcn.00409680
and ecx, 0x489970ae
xchg ecx, esi
test dword [0x40b0c7], edx
jl 0x40478c
cmp ebp, 0x10a2a0d2
jg 0x404793
call fcn.0040418c
mov ecx, 0x357eb226
inc edi
shl eax, 0x13
xor edx, ecx
inc esi
rol esi, 8
neg esi
or edx, edx
sub edx, 0x1ac97388
sub dword [0x40b393], ebx
add esi, dword [0x40b0a1]
mov eax, ebp
dec ecx
jne 0x404798
add dword [0x40b873], ebx
test dword [0x40b08e], esi
jo 0x4047cd
dec eax
test dword [0x40b1c3], edi
jns 0x4047d7
xor esi, edx
sub edi, edi
cmp edx, esi
jb 0x4047df
neg esi
dec esi
mov ecx, 0x32b0f0a1
and dword [0x40b675], ebx
add eax, dword [0x40b003]
mov esi, 0x570133bd
sub eax, esp
mov edi, ebx
add edi, ebp
xor edx, 0xc1a5dae9
sub ebx, 0x13d74892
xor dword [0x40b7b3], edi
neg eax
add ebx, ebx
mov esi, esp
dec ecx
jne 0x4047e5
mov edi, 0xd706a9a0
call fcn.00407c9d
add edx, ecx
shl ecx, 0x1d
or eax, 0x936e4ee6
cmp dword [0x40b12d], ecx
jnp 0x404837
add ecx, edx
xor edi, 0x70b64ff
mov ecx, 0x19fbc0ca
call fcn.00407c9d
add esi, 0x204eecf4
xchg edi, esi
mov ecx, 0xe637b7f6
xor edx, 0x228a9ad2
or esi, 0x68707197
mov edi, 0xdd06b8d7
xor ebx, esp
xchg ecx, eax
add dword [0x40b3a4], ecx
xor ecx, dword [0x40b9e7]
xor esi, ebp
dec ebx
neg ecx
dec edi
add ecx, dword [0x40baec]
xor eax, 0x55459cde
neg esi
sub edi, 0x4b9fc077
mov dword [0x40b53b], eax
xchg eax, edx
xor ecx, 0x63625db0
xchg eax, edx
sub ecx, edi
add dword [0x40b811], esi
sub dword [0x40b81c], eax
add ecx, edi
xchg eax, edx
xor ecx, 0x63625db0
xchg eax, edx
or dword [0x40b373], edx
add edi, 0x4b9fc077
neg esi
xor eax, 0x55459cde
inc edi
neg ecx
inc ebx
xor esi, ebp
xchg ecx, eax
xor ebx, esp
xor edi, 0x4d253040
dec ebx
sub eax, dword [0x40badd]
ror ebx, 0x19
call fcn.004060a7
dec eax
rol edx, 3
neg esi
dec eax
sub ecx, 0x855cec5
xor ebx, dword [0x40bc2b]
mov dword [0x40b4d4], edi
sub ecx, esp
or edx, dword [0x40ba09]
add ecx, esp
xor dword [0x40b79b], edx
add ecx, 0x855cec5
inc eax
neg esi
ror edx, 3
inc eax
call fcn.00402649
rol ebx, 0x19
inc ebx
sub edi, 0x90238897
neg edx
add eax, edi
mov dword [0x40b3ae], eax
xor ecx, 0x58cea262
call fcn.00401f87
ror eax, 1
xchg edx, esi
sub eax, 0x40becfd2
rol esi, 0x14
neg ecx
sub dword [0x40b469], esi
xor edi, 0x567aa8d6
neg edi
ror edi, 9
rol edi, 9
neg edi
xor edi, 0x567aa8d6
or dword [0x40b518], esi
neg ecx
ror esi, 0x14
add eax, 0x40becfd2
xchg edx, esi
rol eax, 1
call fcn.00403a57
xor ecx, 0x58cea262
sub dword [0x40b621], esi
sub eax, edi
neg edx
push edi
not esi
dec ecx
xor dword [0x40b27c], esi
xchg edx, eax
call fcn.00402cba
ror esi, 0xb
sub edx, 0x4487bd09
ror eax, 0x1c
call fcn.0040372c
sub edx, esp
not edi
call fcn.004060a7
call fcn.004032c9
not edi
add edx, esp
rol eax, 0x1c
add edx, 0x4487bd09
rol esi, 0xb
xchg edx, eax
and dword [0x40b4ba], eax
inc ecx
not esi
mov ecx, 0x773da9a4
xchg esi, edx
mov dword [0x40b499], ecx
sub ebx, dword [0x40bfb6]
add dword [0x40b82c], 0x1778c0a2
sub dword [0x40b841], edx
xor esi, edx
add edx, dword [0x40bb67]
inc esi
neg ebx
ror edx, 0x18
dec eax
call fcn.004075b1
xor edi, dword [0x40b94e]
dec ebx
mov dword [0x40b63b], eax
inc ebx
call fcn.004060a7
inc eax
rol edx, 0x18
neg ebx
dec esi
xor esi, edx
sub dword [0x40b35b], edi
xor dword [0x40b362], 0xd17b4e3f
xchg esi, edx
xor ecx, 0xf1fd9380
neg esi
or ecx, dword [0x40bcab]
not esi
and dword [0x40b5ba], ecx
sub eax, 0x98ecc45c
inc edx
sub edi, dword [0x40be9e]
rol eax, 0x11
inc edi
add edx, dword [0x40b978]
xor ebx, ecx
call fcn.0040724b
xchg esi, eax
xor ebx, 0xae2d147a
dec ebx
add dword [0x40b479], ecx
not edx
call fcn.00402649
call fcn.004075b1
not edx
xor dword [0x40b45a], ecx
inc ebx
xor ebx, 0xae2d147a
xchg esi, eax
call fcn.00403a57
xor ebx, ecx
dec edi
ror eax, 0x11
dec edx
add eax, 0x98ecc45c
mov dword [0x40b5f7], esi
not esi
neg esi
sub ecx, 0x548ccdbf
not eax
or dword [0x40b521], esi
xor dword [0x40b467], ebx
ror ecx, 0xd
neg esi
add edi, dword [0x40baf7]
ror eax, 3
dec esi
rol edi, 0x13
xor esi, dword [0x40bf3a]
ror edi, 0x13
inc esi
rol eax, 3
neg esi
rol ecx, 0xd
sub dword [0x40b6f1], ecx
xor dword [0x40b750], edi
not eax
push ecx
xor edx, 0xac795276
add dword [0x40b375], 0xab6f519e
dec esi
xor edi, 0x968a7914
xor edi, 0x940b02fc
call fcn.004072d5
mov dword [0x40b7bf], esi
sub esi, ecx
add edx, esp
sub eax, dword [0x40bd0d]
xor eax, dword [0x40b8f5]
add dword [0x40b317], 0x342db412
add dword [0x40b50f], edi
add dword [0x40b4e4], ebx
sub dword [0x40b445], 0xb898599d
sub edx, esp
add esi, ecx
and dword [0x40b390], edi
call fcn.004060a7
xor edi, 0x940b02fc
xor edi, 0x968a7914
inc esi
mov dword [0x40b85b], 0x1a7f8837
xor edx, 0xac795276
mov ebx, 0xbcab1769
xor edx, 0x6bda07ff
or edx, dword [0x40bc1c]
not ecx
xor eax, ebp
rol esi, 4
call fcn.004060a7
inc ecx
xor ecx, esp
neg edi
sub ebx, esp
add ebx, esp
neg edi
xor ecx, esp
dec ecx
call fcn.00401f87
ror esi, 4
xor eax, ebp
not ecx
xor edx, 0x6bda07ff
or ebx, 0x32f1abb7
add dword [0x40b41c], edi
call fcn.00407c9d
dec edi
xor ebx, edx
not ebx
sub ebx, dword [0x40bf25]
xor esi, dword [0x40bf69]
call fcn.00407c9d
rol eax, 0x1c
add eax, dword [0x40be88]
add edi, ebp
add eax, dword [0x40be01]
inc ecx
rol esi, 8
call fcn.004060a7
add esi, dword [0x40bd84]
call fcn.00402da7
or dword [0x40b259], esi
inc ecx
xor esi, 0x1e87c945
call fcn.00403dae
call fcn.00403dae
xor esi, 0x1e87c945
dec ecx
xor dword [0x40b5be], ecx
call fcn.00408420
ror esi, 8
dec ecx
sub edi, ebp
ror eax, 0x1c
call fcn.00402649
not ebx
xor ebx, edx
inc edi
call fcn.004060a7
add dword [0x40b688], eax
xor ebx, 0xd089da94
sub edi, dword [0x40bb7f]
rol ebx, 8
sub edx, 0xdf734e8d
or edx, dword [0x40bdef]
call fcn.00404525
rol edx, 0x19
add eax, 0x3d72f788
not eax
or esi, dword [0x40bb9e]
or ecx, dword [0x40baa4]
call fcn.004060a7
add dword [0x40b7d6], ecx
xor edi, dword [0x40bd6b]
xor ebx, edi
rol edx, 0x12
sub esi, 0x44b40436
add esi, 0x44b40436
ror edx, 0x12
xor ebx, edi
call fcn.00403c27
not eax
sub eax, 0x3d72f788
ror edx, 0x19
call fcn.004012ae
add edx, 0xdf734e8d
ror ebx, 8
push ebx
xor ebx, 0x21aea881
sub dword [0x40b88d], ecx
or ebx, dword [0x40bd16]
xor ebx, 0xa1d9a432
add dword [0x40b7d3], ebx
xchg edi, edx
rol edi, 4
sub eax, 0x6542e230
xor ebx, 0x4fb3104d
call fcn.00402b6e
call fcn.0040221b
xor ebx, 0x4fb3104d
add eax, 0x6542e230
ror edi, 4
xchg edi, edx
xor ebx, 0xa1d9a432
xor ebx, 0x21aea881
push esp
or eax, dword [0x40ba57]
neg esi
sub edx, dword [0x40bfb8]
call fcn.00407c9d
xor edx, 0x61e0e475
call fcn.00403dae
or edx, dword [0x40bcc0]
sub ecx, esi
inc eax
not eax
call fcn.00406608
not eax
dec eax
add ecx, esi
call fcn.004029aa
xor edx, 0x61e0e475
loopne 0x404dd7
call fcn.00401f87
neg esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
inc edx
rol edx, 0x1b
not edx
sub eax, dword [0x40ba55]
neg ecx
or dword [0x40b2d9], esi
invalid
invalid
invalid