Function at 0x51513f
Capabilities:
Encrypt data using chaskey

Disassembly:
or ebx, dword [0x5a0f41]
call fcn.00507461
add dword [0x5a0a07], 0xba3ab9e9
call fcn.0041fb3b
call fcn.004cbcc7
xor dword [0x5a0996], ecx
rol edx, 0x1b
call fcn.004f9411
neg edi
push ecx
add esi, 0xd24775ba
ror esi, 0x14
xor ebx, esi
add dword [0x5a09e0], edx
xor eax, esp
xor edx, dword [0x5a0bc4]
call fcn.004f440a
dec eax
add eax, dword [0x5a0f9c]
sub dword [0x5a0857], 0xe9076d95
ror ebx, 0xd
add dword [0x5a09f1], ebx
inc esi
sub edi, dword [0x5a0c61]
call fcn.004abfb4
not esi
add eax, dword [0x5a0c8a]
xor ecx, 0xec377201
or ebx, dword [0x5a0e22]
call fcn.004619ab
call fcn.00503ca3
xor ecx, 0xec377201
not esi
call fcn.004a4055
dec esi
or dword [0x5a0966], edi
rol ebx, 0xd
mov dword [0x5a0a4a], 0x42b26a46
inc eax
xor eax, esp
xor ebx, esi
rol esi, 0x14
sub esi, 0xd24775ba
mov eax, 0xcd75d410
xor edi, edx
or edx, dword [0x5a0b87]
neg edi
inc ebx
call fcn.0043448e
sub esi, ecx
add edx, dword [0x5a0ead]
inc edx
rol ecx, 0x16
or dword [0x5a0704], edi
call fcn.0050763d
not esi
add esi, 0x5a667019
not ecx
inc edx
sub edi, dword [0x5a0f5d]
sub ebx, 0x30bf0e47
or eax, dword [0x5a0f28]
sub eax, 0x2d40ae35
add eax, 0x2d40ae35
add ebx, 0x30bf0e47
dec edx
not ecx
sub esi, 0x5a667019
not esi
call fcn.0043a96a
ror ecx, 0x16
dec edx
add esi, ecx
call fcn.004d71e6
dec ebx
neg edi
xor edi, edx
xor eax, 0x43445cdf
rol edi, 0x12
call fcn.004d362f
inc edx
xchg ebx, eax
mov dword [0x5a0a73], 0x87aae31d
dec eax
add esi, 0x4930590d
dec ebx
and dword [0x5a074c], ebx
xor edx, edi
add dword [0x5a0965], edx
sub edx, dword [0x5a0e6d]
call fcn.00510b30
mov dword [0x5a075b], ebx
inc edi
xchg ecx, edx
inc esi
inc esi
inc eax
add dword [0x5a0796], esi
dec edi
sub ecx, dword [0x5a0e55]
inc edi
dec eax
dec esi
dec esi
xchg ecx, edx
dec edi
call fcn.00472175
xor edx, edi
or dword [0x5a094d], esi
inc ebx
sub esi, 0x4930590d
inc eax
sub dword [0x5a0965], 0xb9057f93
xchg ebx, eax
dec edx
ror edi, 0x12
sub eax, 0x5bfe1c6a
or dword [0x5a076d], ecx
inc ebx
neg edx
rol ebx, 0x16
dec ecx
or ecx, dword [0x5a0f68]
rol eax, 9
or edi, dword [0x5a0d2e]
call fcn.004a9fbd
xchg esi, eax
not eax
call fcn.00498ba9
sub ebx, dword [0x5a0de0]
dec edx
call fcn.004c8f71
add dword [0x5a0820], eax
xor ecx, 0xb079d386
sub ecx, dword [0x5a0b7e]
add ebx, ebp
sub esi, 0x8f5ddcbe
add esi, 0x8f5ddcbe
sub ebx, ebp
xor ecx, 0xb079d386
xor dword [0x5a0b2b], esi
call fcn.004d9ff5
inc edx
call fcn.00486c9a
not eax
xchg esi, eax
ror eax, 9
inc ecx
ror ebx, 0x16
neg edx
dec ebx
mov dword [0x5a0acc], eax
push eax
and dword [0x5a0b5a], esi
sub edi, dword [0x5a0cbd]
or ecx, dword [0x5a0e7d]
call fcn.00482abe
xchg ebx, edx
sub dword [0x5a08b5], edx
call fcn.004ab1ed
rol esi, 7
xor ecx, dword [0x5a0f78]
xor eax, 0x4ad47d66
xor edx, ebp
sub ebx, edi
sub edx, dword [0x5a0d5a]
call fcn.004569b7
call fcn.004d1053
add ebx, edi
xor edx, ebp
xor eax, 0x4ad47d66
ror esi, 7
call fcn.00494d2a
xor dword [0x5a07fc], ebx
xchg ebx, edx
call fcn.00489a99
mov ecx, 0xa09a0617
sub eax, 0x144b0ec
neg ecx
sub edx, esi
xor edx, dword [0x5a0dfc]
add esi, 0x1bd0f0ea
mov dword [0x5a083f], 0x8d006a40
neg esi
dec edx
or dword [0x5a0788], ebx
rol edx, 0xd
mov dword [0x5a0785], 0x5f573bcf
add dword [0x5a0a58], 0xddf0371e
ror edx, 0xd
add dword [0x5a099c], edx
inc edx
neg esi
sub esi, 0x1bd0f0ea
add edx, esi
neg ecx
add eax, 0x144b0ec
sub ecx, 0xefc4b8ea
inc ecx
neg esi
xor esi, 0x2e404a11
add eax, edi
sub ebx, dword [0x5a0e15]
add ebx, 0xf004bd4a
inc ebx
or edi, dword [0x5a0f7f]
xor ebx, dword [0x5a0ecf]
rol esi, 0x1c
inc eax
or eax, dword [0x5a0ef7]
dec eax
ror esi, 0x1c
dec ebx
sub ebx, 0xf004bd4a
sub eax, edi
xor esi, 0x2e404a11
neg esi
dec ecx
add ecx, 0xbd9d183e
xor eax, ebp
xor dword [0x5a0ac2], eax
add ecx, dword [0x5a0f25]
xor ebx, edi
dec edi
call fcn.0044927b
xor edx, ebp
xchg ecx, edx
neg ecx
inc ecx
dec edx
call fcn.0044d4b6
not eax
xor esi, ebx
call fcn.004b9627
add dword [0x5a0a4b], 0x2ecdf256
sub ebx, dword [0x5a0ef5]
or ebx, dword [0x5a0c8f]
xor dword [0x5a0b43], 0x4b35c40c
call fcn.004f1cbc
xor esi, ebx
not eax
inc edx
dec ecx
neg ecx
xchg ecx, edx
xor edx, ebp
call fcn.0047aa2e
inc edi
xor ebx, edi
xor eax, ebp
push ecx
xor eax, 0xa52af22
and dword [0x5a0ad2], esi
xchg ebx, esi
sub edi, dword [0x5a0e04]
ror esi, 0x14
add dword [0x5a0767], eax
call fcn.004cce34
xor edi, dword [0x5a0c52]
sub ebx, edx
xor edi, 0x3471d0a3
add edx, 0xbeb71ba0
neg esi
sub dword [0x5a070e], edx
sub ebx, 0x636140a
add edi, ebx
xchg edx, esi
xor dword [0x5a0ac4], edi
call fcn.0045e4fc
xchg edx, esi
sub edi, ebx
add ebx, 0x636140a
add dword [0x5a08d9], ecx
neg esi
sub edx, 0xbeb71ba0
xor edi, 0x3471d0a3
add ebx, edx
call fcn.004f84d9
rol esi, 0x14
xchg ebx, esi
xor dword [0x5a0771], edx
xor eax, 0xa52af22
push esp
or dword [0x5a0762], esi
xor edi, dword [0x5a0e3a]
add ecx, 0x8ae95e05
not ecx
mov dword [0x5a0a96], edx
add ecx, dword [0x5a0ec1]
sub ebx, 0xa4937dec
xchg ebx, edx
not ebx
xor dword [0x5a0768], ecx
call fcn.004d9375
and dword [0x5a0af2], esi
not ebx
xchg ebx, edx
add ebx, 0xa4937dec
not ecx
sub ecx, 0x8ae95e05
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub dword [0x5a0adb], ebx
add esi, esp
call fcn.004db838
xor ecx, eax
xchg edx, eax
ror ecx, 0x10
sub eax, ebx
sub dword [0x5a0818], ebx
xor edx, 0x6bd1322f
xor dword [0x5a0757], esi
add cl, al
leave
sbb ecx, dword [edx - 0x79]
sal dword [ebx], 1
adc eax, 0x5a0b6d
not edi
and dword [0x5a08ad], ecx
xor edi, dword [0x5a0d52]
ror edx, 0x16
mov dword [0x5a07d7], ecx
call fcn.0042ed28
call fcn.0042987c
rol edx, 0x16
and dword [0x5a0b16], ebx
not edi
xchg ecx, edx
inc edx
rol ecx, 0x1b
xor edx, 0x6bd1322f
and dword [0x5a08ee], eax
add eax, ebx
rol ecx, 0x10
xchg edx, eax
xor ecx, eax
call fcn.004cc801
sub esi, esp
add esp, 0xc
or ecx, dword [0x5a0bed]
or dword [0x5a094c], edi
rol edi, 0x1d
add ecx, dword [0x5a0f41]
xchg ebx, esi
xor edx, ebx
call fcn.004239ed
or dword [0x5a08f6], esi
sub edi, dword [0x5a0be5]
add eax, dword [0x5a0ba7]
xor dword [0x5a0773], ebx
not esi
add esi, dword [0x5a0ec7]
xchg ecx, esi
xchg ecx, esi
not esi
xor edx, ebx
xchg ebx, esi
ror edi, 0x1d
mov edi, 0x66a69e29
call fcn.005149c1
xor ebx, dword [0x5a0e1b]
ror edx, 0x15
add ebx, dword [0x5a0b95]
add dword [0x5a098c], esi
or ecx, dword [0x5a0daa]
neg eax
sub dword [0x5a0761], esi
or dword [0x5a082f], eax
neg esi
sub ecx, dword [0x5a0c4e]
or dword [0x5a09a3], edi
xor eax, 0x5f29b81b
call case.default.0x46b8c3
xchg edi, edx
xchg edi, edx
xor eax, 0x5f29b81b
add dword [0x5a0935], ecx
neg esi
neg eax
rol edx, 0x15
sub edi, 0x107381a3
add edx, dword [0x5a0b82]
xor esi, dword [0x5a0fa9]
inc eax
dec edx
or eax, dword [0x5a0c0b]
dec edx
xor eax, dword [0x5a0d5d]
sub ebx, esi
inc eax
call fcn.0042858e
call fcn.004cd2e6
dec eax
add ebx, esi
inc edx
inc edx
dec eax
sub edi, 0x56331c86
sub ecx, dword [0x5a0c5d]
xor ecx, dword [0x5a0cc0]
or eax, dword [0x5a0c40]
xchg esi, edx
or esi, dword [0x5a0d44]
or eax, dword [0x5a0bd0]
add esi, dword [0x5a0df4]
not esi
or dword [0x5a0895], 0x76fe11b8
add ecx, dword [0x5a0c5d]
xchg eax, esi
dec edi
xor edx, dword [0x5a0cee]
or dword [0x5a086e], edi
not edx
call fcn.0040ee14
add edi, esi
inc ecx
xchg ecx, edx
call fcn.00498ba9
not edi
call fcn.004c8336
call fcn.004d8522
not edi
xchg ecx, edx
dec ecx
sub edi, esi
not edx
inc edi
xchg eax, esi
sub dword [0x5a07ee], 0xe2808d26
not esi
xchg esi, edx
push edi
not edi
sub dword [0x5a0967], edx
add ebx, dword [0x5a0d9b]
call fcn.00500435
xchg ebx, esi
inc eax
dec eax
xchg eax, esi
sub edx, dword [0x5a0d9d]
mov dword [0x5a0b38], edi
or ebx, dword [0x5a0c8c]
inc ecx
mov dword [0x5a0a6b], 0xa078ed92
add dword [0x5a0ad9], edx
xor ebx, 0xd56c717a
xor edx, dword [0x5a0bad]
xor ebx, 0xd56c717a
dec ecx
mov dword [0x5a0ac9], esi
xchg eax, esi
inc eax
dec eax
xchg ebx, esi
call fcn.004ef9fb
not edi
mov ecx, 0xd24194cd
sub ebx, ebp
call fcn.004e05a2
add eax, ebp
call fcn.004658f6
xchg ecx, esi
xor eax, 0xc116890e
and dword [0x5a08fa], ecx
not eax
or dword [0x5a0aa6], esi
call fcn.004a96a9
sub ecx, dword [0x5a0e34]
add edx, ebp
neg esi
call fcn.004bb091
call fcn.00514946
neg esi
sub edx, ebp
not eax
sub dword [0x5a0864], eax
xor eax, 0xc116890e
xchg ecx, esi
call fcn.0045c765
sub eax, ebp
call fcn.005186d2
add ebx, ebp
and ecx, 0x714b5c02
or esi, dword [0x5a0f46]
dec edx
xor edx, dword [0x5a0d34]
not esi
add eax, ebx
add dword [0x5a088b], ebx
or dword [0x5a077d], 0x81c9ba78
call fcn.00520e18
dec edi
ror edi, 7
sub esi, edx
neg ebx
xor esi, 0xf825e631
add ecx, 0x9f261e28
sub ecx, dword [0x5a0cca]
xor ecx, ebx
call fcn.004159b1
call fcn.004c9edc
xor ecx, ebx