Function at 0x4045a4
Capabilities:
Encrypt data using chaskey
Get disk size
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]
push edx
jmp 0x404698
mov dword [esp], 0xc
call fcn.00408678
push ebx
mov dword [esp], 0xa
and edi, 0x18ade20c
sub edx, 0xe1e485d2
ror ebx, 0x11
sub dword [0x40b702], eax
neg edx
and dword [0x40b8b8], ebx
mov edi, 0x90ee891c
test dword [0x40b1e4], esi
jl 0x4046fa
and edi, dword [0x40b101]
shl edi, 8
or ebx, 0xc2878365
and ecx, ebx
cmp dword [0x40b10b], 0x76d9dce0
jo 0x404714
rol eax, 0xc
call fcn.00406608
sub edx, 0x6dea5798
or edi, ebp
sub edi, 0xdd60cd92
xor ecx, esp
cmp ebp, 0x5622710b
jge 0x404736
call fcn.0040418c
mov ecx, 0x5f994532
rol esi, 0x11
dec ebx
test dword [0x40b0b6], esi
jbe 0x404749
and eax, esi
add edi, 0xffaf7890
mov dword [0x40b859], eax
xchg edi, eax
add esi, esp
call fcn.00406608
add eax, 0x77a519de
and esi, 0xcbc1adf6
add esi, 0xb3c9f6dd
dec ecx
jne 0x40473b
mov ecx, 0x3fe1c88c
test dword [0x40b1d9], 0x557ba3a2
jle 0x404787
xor edi, ebx
or edx, dword [0x40b083]
xor edx, eax
and edi, 0xbbd01784
xchg eax, esi
sub edi, dword [0x40b12f]
inc esi
ror ebx, 0x14
test ebp, 0xeaab94f4
js 0x4047ac
shr esi, 4
xor edx, dword [0x40b06f]
ror ebx, 0x14
inc ebx
xchg edi, esi
neg esi
ror ebx, 0x15
dec ecx
jne 0x404779
mov ecx, 0x6924c866
add edi, esi
neg edx
shr eax, 5
ror ebx, 0x12
add edx, ebx
inc ebx
rol esi, 0xe
neg eax
sub dword [0x40b6eb], ebx
ror edi, 0x15
add ebx, 0x264a6e73
and esi, edi
sub edx, edi
add eax, 0x8abbe246
shl esi, 0xd
sub dword [0x40b51c], 0x39296c32
dec ecx
jne 0x4047c6
xor eax, 0xc872729e
inc edi
xchg eax, edx
call fcn.0040724b
neg ecx
sub ebx, edi
add eax, dword [0x40b149]
mov esi, 0xb4b16acd
xchg ecx, esi
sub eax, dword [0x40bb26]
add edx, eax
add ecx, dword [0x40bca6]
sub edx, dword [0x40bc2f]
inc ecx
rol edi, 0x15
inc edx
not ebx
xor dword [0x40b55d], edx
rol esi, 0xe
add eax, dword [0x40bb4a]
sub edx, esi
not esi
add dword [0x40b7e4], edx
not esi
sub edi, eax
dec edi
call fcn.00404419
inc edi
add edi, eax
not esi
and dword [0x40b344], esi
not esi
add edx, esi
ror esi, 0xe
not ebx
dec edx
ror edi, 0x15
dec ecx
sub edx, eax
xchg ecx, esi
xor esi, 0x5374889d
neg ecx
xchg ecx, esi
xor edx, 0xa07dff9a
or edx, dword [0x40b964]
call fcn.00406608
xchg ebx, eax
call fcn.0040697d
xor dword [0x40b611], 0x9a120ec
call fcn.00404419
inc ecx
not eax
sub dword [0x40b259], ebx
sub dword [0x40b573], ecx
inc edi
ror ebx, 4
add dword [0x40b7df], ebx
and dword [0x40b3aa], esi
rol ebx, 4
dec edi
mov dword [0x40b768], esi
or dword [0x40b23a], eax
not eax
dec ecx
sub dword [0x40b271], 0xc415a739
call fcn.0040372c
xchg ebx, eax
xor edx, 0xa07dff9a
xchg ecx, esi
neg ecx
sub esi, 0xe7c5e250
xchg ecx, eax
ror ecx, 0x17
xor esi, edi
and dword [0x40b2d1], ecx
or esi, dword [0x40bf5f]
dec edi
add dword [0x40b357], ebx
add dword [0x40b8a6], edx
or dword [0x40b5a5], edx
call fcn.004018fe
dec ecx
and dword [0x40b569], eax
ror eax, 0x13
add edx, 0x76fb105f
dec eax
mov dword [0x40b5d9], ebx
dec ebx
sub ecx, edx
xor edi, 0xe14b3104
call fcn.00408420
xor edi, 0xe14b3104
add ecx, edx
inc ebx
inc eax
sub edx, 0x76fb105f
rol eax, 0x13
inc ecx
call fcn.00407c9d
and dword [0x40b513], eax
xor dword [0x40b77a], ecx
mov dword [0x40b54d], edx
inc edi
or dword [0x40b387], edx
xor esi, edi
rol ecx, 0x17
xchg ecx, eax
push esi
not ecx
xor esi, dword [0x40bac5]
xor edx, ebp
call fcn.00401da5
sub esi, dword [0x40bf8b]
ror ecx, 3
xchg esi, edx
add eax, 0x358bde0a
neg esi
xor edi, 0x6fc79c1a
xor edx, edi
ror esi, 0x18
xor esi, dword [0x40bcce]
call fcn.00408420
sub ecx, 0xa89aef82
add ecx, 0xa89aef82
rol esi, 0x18
xor edx, edi
xor edi, 0x6fc79c1a
neg esi
sub eax, 0x358bde0a
xchg esi, edx
rol ecx, 3
xor edx, ebp
not ecx
mov edx, 0x91839194
and dword [0x40b4dc], esi
xor ecx, dword [0x40ba8d]
sub esi, eax
rol ebx, 1
call fcn.00404419
mov dword [0x40b29b], edi
xor ebx, 0xbb418456
neg ecx
sub ebx, dword [0x40bc5d]
xor eax, dword [0x40bc55]
call fcn.0040773d
call fcn.00404419
neg ecx
xor ebx, 0xbb418456
or dword [0x40b3fd], ecx
call fcn.0040372c
ror ebx, 1
add esi, eax
and dword [0x40b296], esi
add edx, 0x6d3a5c7f
xor eax, 0xf1079a59
dec ecx
neg edi
add ecx, dword [0x40bdda]
call fcn.00406608
xchg edx, eax
sub edx, dword [0x40bc93]
xor dword [0x40b3c1], 0xb5d1a88d
ror ecx, 0x15
xor esi, ecx
add ecx, 0x801d83b3
dec ebx
add eax, dword [0x40bf5a]
xor edi, ebx
xor edi, dword [0x40ba86]
neg esi
inc edi
add edi, dword [0x40ba53]
or dword [0x40b28a], 0x6410c6b
ror edi, 0xe
call fcn.00406608
rol edi, 0xe
mov dword [0x40b2a3], 0xe99d6940
dec edi
neg esi
xor edi, ebx
inc ebx
sub ecx, 0x801d83b3
xor esi, ecx
rol ecx, 0x15
xchg edx, eax
call fcn.00407467
neg edi
inc ecx
xor eax, 0xf1079a59
sub edx, 0xcc8a81ae
xor esi, ecx
rol ebx, 0x13
inc ecx
not edx
ror edi, 0xb
sub esi, 0x1302d515
xor edi, 0x6e10d740
sub dword [0x40b454], eax
add edi, 0xfbe9f367
and dword [0x40b595], edx
sub edi, 0xfbe9f367
xor dword [0x40b577], edx
xor edi, 0x6e10d740
add esi, 0x1302d515
rol edi, 0xb
not edx
dec ecx
ror ebx, 0x13
xor esi, ecx
push edx
add edx, dword [0x40ba3e]
dec eax
call fcn.004014ca
ror eax, 0xd
and dword [0x40b7af], esi
rol ebx, 0x1a
inc eax
xor ecx, dword [0x40bbb1]
add esi, 0xf926e354
add esi, dword [0x40b9e7]
sub ebx, ebp
add edx, 0x2b0689cf
sub esi, eax
inc esi
xor esi, 0xcc2e8ffd
call fcn.00406608
ror ecx, 0x1a
call fcn.00408420
call fcn.0040724b
rol ecx, 0x1a
call fcn.00407386
xor esi, 0xcc2e8ffd
dec esi
add esi, eax
sub edx, 0x2b0689cf
add ebx, ebp
sub esi, 0xf926e354
dec eax
ror ebx, 0x1a
add dword [0x40b249], ebx
rol eax, 0xd
call fcn.0040773d
inc eax
mov ebx, 0x42dd740
add dword [0x40b5cc], esi
inc edi
or eax, dword [0x40b988]
not ecx
or eax, dword [0x40bc85]
neg eax
sub dword [0x40b289], edi
xor dword [0x40b607], ebx
sub dword [0x40b418], 0x7a03b4c1
ror edx, 0x1a
mov dword [0x40b86f], ebx
and dword [0x40b3fc], ebx
ror ebx, 0x11
add edi, edx
add ebx, dword [0x40ba62]
xor dword [0x40b62a], ecx
xor edx, dword [0x40b91c]
call fcn.00406608
add ebx, esp
ror ebx, 0xd
rol ebx, 0xd
sub ebx, esp
xor dword [0x40b7fb], edi
sub edi, edx
rol ebx, 0x11
xor dword [0x40b3ce], eax
rol edx, 0x1a
add dword [0x40b281], 0x32f2ebde
xor dword [0x40b477], esi
and dword [0x40b54d], edx
neg eax
not ecx
dec edi
and ebx, 0x18fcaedd
call fcn.00402cba
neg eax
call fcn.004089b4
xor esi, ecx
add edi, 0x579d68f3
dec edi
add edx, dword [0x40bc6f]
inc ecx
dec eax
and dword [0x40b748], esi
sub ebx, esi
not esi
rol edi, 1
sub eax, dword [0x40bdc6]
inc ecx
xchg eax, edx
not eax
call fcn.00401da5
call fcn.004086e9
not eax
xchg eax, edx
dec ecx
ror edi, 1
not esi
add ebx, esi
add dword [0x40b518], eax
inc eax
dec ecx
inc edi
sub edi, 0x579d68f3
xor esi, ecx
call fcn.00403892
neg eax
call fcn.004032c9
sub ebx, 0x91ba20d5
neg esi
and dword [0x40b847], edx
dec edi
ror ebx, 9
add dword [0x40b4cc], 0x4480bb71
rol ecx, 0x15
sub dword [0x40b81d], 0x9b75cec9
sub eax, dword [0x40bf7f]
add edi, ecx
xor ebx, esi
add esi, 0xeb70f3d9
xor esi, esp
inc ebx
ror edi, 2
inc edi
call fcn.00402649
xor ebx, ecx
dec ecx
add ebx, dword [0x40bbf5]
call fcn.004018fe
ror edi, 0xb
rol edi, 0xb
call fcn.00408420
inc ecx
xor ebx, ecx
call fcn.00406608
dec edi
rol edi, 2
dec ebx
xor esi, esp
sub esi, 0xeb70f3d9
xor ebx, esi
sub edi, ecx
sub dword [0x40b6eb], 0xbc379634
ror ecx, 0x15
and dword [0x40b6f8], 0x13c59ab6
rol ebx, 9
inc edi
and dword [0x40b74b], edi
neg esi
push ebx
xor dword [0x40b521], esi
sub edx, ecx
neg ecx
or dword [0x40b2f9], esi
xor eax, 0xd7dcfb0c
and dword [0x40b32e], eax
add dword [0x40b7ca], edi
dec edx
xor edi, 0xf53b7dd7
xor edi, edx
sub edi, dword [0x40b918]
cmp eax, 0x40b918
sub esi, eax
inc ecx
inc ebx
call fcn.00408420
dec ebx
dec ecx
add esi, eax
xor edi, edx
xor edi, 0xf53b7dd7
inc edx
mov dword [0x40b4d8], eax
or dword [0x40b81a], edi
add byte [ecx - 0x2304f310], al
xlatb
neg ecx
add edx, ecx
mov dword [0x40b853], ebx
push esp
add esi, 0xbc35b853
neg esi
xchg edi, esi
dec ecx
sub ebx, ecx
xor eax, ecx
or esi, dword [0x40bc17]
rol edx, 0x1b
and dword [0x40b5a9], edi
ror ebx, 0xf
inc eax
or esi, dword [0x40bc73]
call fcn.00406608
dec eax
rol ebx, 0xf
invalid
invalid
invalid
mov bl, 0x40