Function at 0x46a40e
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0xe0], 0x20
and ecx, esi
neg ecx
add edx, ebx
and esi, ebx
or ecx, 0x49e62c87
or ebx, esi
and ebx, ecx
not ebx
xor ebx, 0x49e69b9d
xchg edx, ebx
bswap ebx
mov ecx, esi
shl edx, 4
shl ebx, 5
jmp 0x46b5d9
add edi, dword [esp + 0xc]
add edx, ecx
xor esi, 0x49edf7d9
add ecx, esi
xor esi, ecx
or edx, esi
xor ecx, edx
jmp 0x46bf21
mov edi, dword [edi]
mov edx, ecx
shr ebx, 0x18
sub esi, 0x49eeb7a1
and esi, ecx
and edx, ebx
add edx, ebx
jmp 0x46ca16
mov edi, dword [edi]
and edx, ecx
sub ebx, ecx
mov ecx, ebx
inc esi
shl esi, 1
mov esi, ebx
or ecx, 0x49f1184f
and ecx, 0x49f13581
shl ebx, 0x13
xchg esi, ecx
jmp 0x46ab1e
mov dword [esp + 0x94], edi
xchg ebx, ecx
bswap edx
shr edx, 0x1e
xor edx, ecx
or ecx, esi
mov edx, ebx
sub edx, esi
sub ebx, edx
or ebx, esi
shl edx, 4
jmp 0x46be10
mov edi, dword [edi]
mov ebx, 0x49f29da3
shl ebx, 0x1f
bswap edx
not ecx
xor esi, ebx
or edx, 0x49f3257d
or edx, 0x49f345fd
sub ecx, ebx
mov esi, 0x49f379fb
sub edx, 0x49f392e3
xor esi, 0x49f3aff1
bswap ecx
jmp 0x46a2c7
sub esp, 0xec
dec ebx
neg edx
add esi, 0x49f716f7
and edx, esi
xor edx, esi
or ecx, 0x49f7650d
or ecx, 0x49f785e7
and ecx, 0x49f79f19
and ecx, ebx
or edx, esi
add edx, ebx
ror esi, 0x10
jmp 0x46cec4
add dword [esp + 0xe0], 4
and ebx, ecx
bswap ecx
xchg esi, ecx
sub edx, ebx
sub esi, edx
xor esi, 0x49fca401
add ebx, ecx
mov esi, ecx
jmp 0x46d39d
inc dword [esp + 0xc8]
ror ecx, 4
shl ecx, 0x1c
shr ebx, 7
or esi, ecx
mov esi, edx
or esi, 0x49fe698d
jmp 0x46c1da
add edi, dword [esp + 0xc]
add esi, ebx
add edx, ecx
add ecx, esi
xchg ecx, edx
sub edx, esi
sub ebx, edx
or ecx, 0x49ff26df
sub edx, 0x49ff4011
and ecx, ebx
bswap esi
xor edx, 0x49ff90af
dec edx
mov ecx, 0x49ffc671
xor ebx, esi
jmp 0x46b3a9
add dword [esp + 0xe0], eax
neg ecx
dec ebx
rol ebx, 0x19
and esi, ebx
xor ecx, 0x4a053da7
mov ecx, ebx
nop
xchg esi, edx
sub ecx, edx
sub ebx, 0x4a05c27d
or ebx, 0x4a05df65
mov ebx, 0x4a05f8a7
jmp 0x46a93e
mov dword [esp + 0xc4], 0
xor edx, 0x4a0c7963
mov ecx, edx
sub edx, ebx
or ebx, esi
or edx, 0x4a0ce3b1
sub esi, 0x4a0cfcf3
or esi, 0x4a0d19db
xchg ebx, edx
xchg esi, edx
and esi, 0x4a0d69eb
mov esi, ecx
or edx, 0x4a0d9af5
jmp 0x46b3f4
mul edi
bswap esi
xor ebx, ecx
add esi, ecx
xchg ebx, ecx
add ecx, edx
xor esi, ebx
xchg ebx, esi
xor edx, ecx
jmp 0x46c65a
cmp eax, dword [esp + 0x94]
jmp 0x46bbff
mov edi, dword [esp + 0xe0]
sub edx, ecx
and edx, 0x4a1d30f5
mov esi, ebx
or ecx, 0x4a1d65a5
bswap ebx
dec esi
xchg ecx, edx
sub edx, esi
xor ebx, 0x4a1df193
xchg edx, ebx
add ebx, 0x4a1e2417
and ecx, esi
mov ebx, edx
add ecx, 0x4a1e708f
jmp 0x46b9e1
add edi, dword [esp + 0xc]
xchg esi, edx
mov ebx, esi
inc edx
or edx, 0x4a2bc7db
and edx, 0x4a2be0c3
neg ecx
mov ecx, 0x4a2c1df9
sub ebx, 0x4a2c36e1
and edx, ecx
and edx, esi
sub esi, ecx
sub ecx, ebx
jmp 0x46bbab
cmp byte [edi], 0
jmp 0x46c80b
xor al, byte [edi]
mov ebx, edx
and esi, edx
add edx, 0x4a35cc1d
and edx, ecx
add edx, ecx
add ecx, esi
ror ebx, 5
or ebx, edx
and ecx, edx
not esi
sub edx, ecx
rol esi, 0xd
jmp 0x46c5f7
add dword [esp + 0xe0], edi
sub ecx, ebx
mov edx, ebx
xchg ebx, edx
xor esi, edx
neg edx
mov ecx, ebx
sub ebx, edx
or edx, ebx
jmp 0x46a1bb
mov edi, dword [edi]
sub ebx, ecx
sub esi, ecx
nop
not esi
and ecx, edx
sub ebx, 0x4a3db771
xor ecx, 0x4a3dd035
mov esi, 0x4a3ded77
or ebx, edx
sub edx, ebx
sub edx, 0x4a3e3bb3
add ecx, esi
jmp 0x46ba11
mov dword [esp + 0xe0], 0
xchg edx, esi
and esi, ebx
add ebx, 0x4a48a9f9
and ecx, 0x4a48c2e1
inc esi
or esi, 0x4a48fbdb
xor ecx, edx
xchg edx, ecx
jmp 0x46a347
mov edi, dword [esp + 0xc]
mov ebx, 0x4a4d39cd
shr esi, 0xd
xchg esi, edx
shl esi, 0xc
rol esi, 0xb
or ebx, ecx
jmp 0x46d0a8
mov edi, dword [esp + 0xc]
xor esi, 0x4a4f07f3
xor ebx, ecx
add esi, 0x4a4f3de9
or esi, 0x4a4f5679
and ecx, edx
neg edx
sub edx, 0x4a4fac4b
mov esi, ecx
and esi, ecx
sub edx, ebx
jmp 0x46acb7
mov edi, dword [edi]
mov esi, 0x4a501a0b
add ebx, ecx
mov esi, ecx
add ecx, esi
bswap ecx
not ebx
xor ebx, 0x4a50b997
shl esi, 7
xor ecx, 0x4a50f24d
xchg esi, ebx
sub ecx, ebx
or edx, esi
nop
not esi
or ebx, ecx
mov esi, ecx
jmp 0x46b26e
mov edi, dword [esp + 0xc8]
mov esi, 0x4a547f97
or ebx, edx
add ebx, esi
xchg edx, ecx
sub ecx, esi
or esi, ecx
neg ecx
xchg edx, ebx
jmp 0x46a7fb
mov dword [esp + 0xc], edi
sub esi, ecx
sub ecx, ebx
not esi
ror esi, 0x14
and esi, 0x4a677aef
add esi, 0x4a6797d7
xor esi, ecx
shl ebx, 0xd
or esi, edx
mov ebx, esi
inc edx
mov edx, esi
or ebx, 0x4a684e35
or ebx, edx
jmp 0x46af4d
add dword [esp + 0xe0], 0x78
xchg edx, ecx
bswap esi
xchg ecx, edx
sub esi, 0x4a700069
mov ecx, edx
rol edx, 0xa
jmp 0x46d24b
mov dword [esp + 0xc4], edi
mov edx, ecx
and esi, 0x4a7077c7
add esi, 0x4a70912f
or ebx, 0x4a70aa3d
or ebx, 0x4a70ca97
dec edx
xor edx, ebx
and ebx, ecx
xchg esi, ecx
xchg ecx, edx
jmp 0x46cb0e
mov dword [esp + 0xc], 0
and esi, edx
xor esi, 0x4a7242e9
xchg edx, ecx
bswap esi
shr ecx, 0x1c
neg ecx
jmp 0x46aeb9
mov eax, 4
sub ecx, ebx
mov edx, ebx
xor edx, 0x4a79d843
shr edx, 0x19
neg edx
xchg esi, ebx
bswap ecx
not ebx
jmp 0x46bd22
mov edi, dword [esp + 0xe0]
mov esi, 0x4a80d369
or ebx, edx
and ebx, 0x4a810741
or ecx, 0x4a8120a9
xchg ecx, ebx
neg esi
jmp 0x46a369
add edi, dword [esp + 0xc]
xchg esi, edx
xchg edx, ebx
bswap ebx
xor ebx, ecx
sub ecx, esi
mov edx, esi
or ebx, 0x4a8dabc7
and ebx, 0x4a8dc52f
and ebx, 0x4a8de5d3
add ecx, esi
mov ecx, esi
and ecx, 0x4a8e2e4b
add edx, ebx
mov esi, 0x4a8e637b
add esi, ebx
add edx, 0x4a8e942b
jmp 0x46ce6c
mov edi, dword [edi]
sub edx, ecx
sub ebx, ecx
xchg esi, ecx
xor edx, 0x4a8f07bf
add esi, edx
xchg edx, ecx
or ebx, ecx
or edx, ecx
sub esi, ecx
xor edx, esi
rol ebx, 3
and esi, ebx
sub ebx, esi
xor ebx, ecx
jmp 0x46b978
mov edi, dword [edi]
mov edx, 0x4a928d95
bswap esi
sub esi, ecx
xor edx, esi
or edx, ebx
or ecx, 0x4a9315ed
add ebx, ecx
sub ebx, 0x4a93469d
not edx
xor edx, esi
jmp 0x46ccf4
add edi, dword [esp + 0xc8]
nop
or ecx, 0x4a962995
or ecx, 0x4a964615
inc edx
mov esi, ecx
shr esi, 0x19
xor edx, 0x4a96c6b1
xor edx, ebx
jmp 0x46b4ff
mov edi, dword [edi]
xchg ebx, edx
sub edx, ecx
sub esi, 0x4a9c57cb
xchg ecx, ebx
and edx, esi
xor edx, ebx
xor ebx, esi
or ebx, ecx
add esi, ecx
sub esi, ecx
and edx, esi
bswap ebx
xchg edx, ecx
sub ebx, 0x4a9d7659
jmp 0x46c852
mov dword [esp + 0xe0], edi
neg ebx
sub edx, esi
sub ebx, edx
mov ecx, edx
shl ecx, 0x12
sub ecx, esi
or esi, ecx
mov ebx, edx
and edx, ebx
shl esi, 0x18
jmp 0x46b38b
mov edi, dword [edi]
dec edx
sub edx, 0x4aa09781
xor esi, edx
neg edx
dec ecx
neg esi
mov esi, 0x4aa1221b
add ebx, ecx
mov esi, ecx
and esi, ecx
add ecx, 0x4aa189dd
and edx, ebx
sub edx, esi
xor ebx, 0x4aa1d473
jmp 0x46b75c
add edi, 0x18
mov edx, 0x4aa1f9ef
or esi, ecx
mov ebx, edx
sub ecx, ebx
and ebx, 0x4aa26061
and esi, ebx
or ecx, 0x4aa294b9
and ecx, 0x4aa2b1fb
and ecx, ebx
or edx, esi
jmp 0x46afb7
push edi
mov edx, 0x4aae4439
sub ecx, 0x4aae6121
xor esi, ecx
and ecx, edx
or esi, ebx
add edx, 0x4aaec629
xchg esi, ebx
bswap ecx
jmp 0x46d105
jne 0x46a516
dec ebx
xor ebx, esi
neg esi
or ebx, edx
xor edx, ebx
or ecx, edx
xor ecx, edx
and ecx, 0x4ab17427
xchg ecx, ebx
neg esi
jmp 0x46a4d9
add edi, dword [esp + 0xe0]
xor ebx, 0x4ab67e55
sub ebx, ecx
and ecx, 0x4ab6b279
add ecx, 0x4ab6cf95
shr ecx, 1
add esi, ebx
mov esi, ebx
xchg ebx, esi
inc ebx
or ebx, 0x4ab771d1
sub ecx, 0x4ab78a95
or esi, ebx
and esi, edx
xor esi, 0x4ab7d905
jmp 0x46b94d
movzx edi, word [edi]
sub ebx, edx
sub esi, edx
xor esi, 0x4ab90fe9
bswap ecx
bswap ecx
not ebx
and ebx, edx
and ebx, esi
and esi, 0x4ab9b321
sub ebx, 0x4ab9cc3f
not edx
xor esi, ecx
jmp 0x46bded
mul edi
mov ecx, 0x4abf3b05
and esi, edx
neg edx
xchg esi, ebx
xor ebx, ecx
and esi, ecx
sub ecx, ebx
rol edx, 5
or edx, ecx
add ebx, 0x4ac02831
jmp 0x46a60a
mov edi, 0x30
add ecx, 0x4ac04dad
or ecx, ebx
xor edx, 0x4ac084c3
sub esi, edx
ror esi, 0x11
or ecx, edx
shr ebx, 0x17
xor ecx, esi
jmp 0x46c569
mov dword [esp + 0xc4], edi
sub ebx, 0x4ac88829
xor ebx, ecx
mov ebx, edx
sub ecx, ebx
mov ebx, esi
inc edx
shr edx, 0xe
xor ecx, 0x4ac94261
jmp 0x46a516
mov dword [esp + 0xe0], edi
neg ecx
and esi, edx
or ebx, ecx
or edx, ecx
xor edx, ecx
or ebx, 0x4ad8446d
or ecx, edx
mov ecx, 0x4ad8786b
sub ebx, 0x4ad89553
xor ecx, 0x4ad8ae17
jmp 0x46d333
add dword [esp + 0xc4], 4
xor ebx, esi
shl edx, 0xb
xor ecx, ebx
add edx, esi
inc ecx
or ecx, 0x4adf96df
or ebx, esi
mov ecx, ebx
mov ecx, ebx
rol edx, 5
bswap edx
mov edx, ecx
shr ebx, 0xe
xchg ebx, esi
jmp 0x46c32f
mov edi, dword [esp + 0xc4]
add esi, 0x4ae96b47
dec esi
and edx, 0x4ae9a13f
or esi, 0x4ae9ba27
or esi, 0x4ae9daf1
and ebx, ecx
and ecx, 0x4aea0fa1
or edx, 0x4aea2889
mov edx, ebx
add edx, ebx
add ecx, edx
sub ebx, esi
jmp 0x46a323
mov edi, dword fs:[edi]
or edx, ebx
shr edx, 0x12
not ecx
inc ebx
sub esi, ecx
sub ecx, ebx
or edx, esi
and ebx, esi
xor esi, edx
sub ebx, 0x4afac073
jmp 0x46ca79
rol eax, 8
shl esi, 9
xor ecx, edx
or ebx, esi
mov ecx, ebx
inc esi
or edx, esi
mov esi, edx
xor ecx, edx
dec esi
sub esi, 0x4affebf9
xchg ecx, esi
add ebx, edx
jmp 0x46c73a
mov dword [esp + 0xc8], eax
xor esi, ecx
or esi, 0x4b022349
add ecx, edx
and edx, ecx
xchg edx, esi
xor ebx, ecx
ror ebx, 0xa
inc esi
xor ebx, edx
mov ebx, esi
jmp 0x46d481
inc edi
and edx, 0x4b092197
or edx, esi
xor ecx, edx
xchg esi, ebx
or esi, ecx
mov ebx, edx
jmp 0x46ab7b
jne 0x46ac6c
not ecx
sub ebx, esi
mov ecx, esi
xchg esi, ebx
xor esi, ecx
or edx, esi
dec ebx
or esi, ebx
or esi, ecx
xchg ecx, ebx
or esi, ecx
sub ecx, 0x4b10e977
jmp 0x46cb7a
mov dword [esp + 0xe0], edi
rol esi, 0x14
mov edx, esi
sub esi, ecx
xor edx, esi
shl esi, 6
xor esi, 0x4b1274fd
mov ecx, esi
dec ecx
xor ecx, ebx
or esi, edx
jmp 0x46af87
add edi, 0xc
mov ebx, ecx
mov edx, 0x4b1ed6f9
xor ecx, ebx
mov ebx, edx
neg ecx
shl ecx, 0x18
xor ecx, 0x4b1f5fa9
or esi, ecx
add edx, esi
xor esi, ecx
jmp 0x46ce21
add edi, 0xc
sub edx, ecx
xor ecx, esi
sub esi, ecx
add ebx, edx
or ecx, 0x4b225e25
xchg edx, ecx
jmp 0x46a2e3
mov eax, 2
and ebx, edx
rol ebx, 0x15
ror ecx, 0xa
mov ebx, ecx
xor ebx, ecx
sub ecx, esi
mov ecx, edx
nop
and ebx, esi
not ecx
xor ecx, 0x4b27217b
sub edx, ecx
dec edx
or esi, edx
jmp 0x46b037
pop edi
sub ebx, 0x4b298715
sub ebx, esi
xor esi, ecx
and ecx, ebx
neg esi
shl esi, 0x15
jmp 0x46a8d7
mov edi, dword [esp + 0xe0]
or edx, esi
inc ecx
sub edx, ebx
or esi, 0x4b3138a7
and ebx, ecx
add esi, ecx
jmp 0x46b818
add edi, dword [esp + 0xc]
mov ebx, ecx
inc ebx
mov ecx, ebx
xor ecx, ebx
xor ebx, 0x4b359b79
shl ecx, 0x17
jmp 0x46c0e6
mov edi, dword [edi]
or ecx, 0x4b3e02d3
or ebx, esi
and ecx, 0x4b3e375f
mov ecx, esi
dec ecx
or ebx, edx
neg ecx
rol ebx, 0xc
xchg ebx, esi
mov ecx, ebx
add ecx, 0x4b3f0bfb
shr ecx, 0xb
jmp 0x46d409
add esp, 0xec
sub ebx, ecx
xor edx, esi
or edx, ebx
xor edx, esi
or ebx, esi
mov ecx, ebx
and esi, ecx
inc ecx
jmp 0x46d53a
mov dword [esp + 0xc8], 0
sub edx, ebx
neg edx
inc edx
or edx, ecx
xor ecx, ebx
xchg edx, ebx
and edx, ebx
xchg edx, esi
or esi, ebx
rol ecx, 0xd
jmp 0x46a6fd
add edi, 0x3c
not esi
sub edx, ecx
sub ebx, ecx
mov ecx, ebx
xor ecx, ebx
or ebx, edx
mov ecx, edx
or ebx, esi
or ebx, ecx
sub ebx, 0x4b538a2f
jmp 0x46b79f
xor eax, eax
xor ecx, ebx
shl esi, 8
mov esi, ebx
mov edx, ecx
sub esi, ebx
xor edx, ecx
xchg ecx, ebx
xor edx, esi
or edx, ebx
xor ebx, esi
add edx, ecx
or edx, ecx
jmp 0x46ac6c
mov edi, dword [esp + 0xc]
and edx, ebx
and edx, ecx
shr ebx, 0x1d
shl edx, 0x16
xchg ecx, edx
mov ebx, edx
inc ecx
or ecx, 0x4b6028bd
sub ebx, esi
xchg ecx, edx
sub edx, esi
sub ebx, edx
mov ecx, edx
dec ebx
or ebx, ecx
rol ecx, 0x13
jmp 0x46bcc3
mov edi, dword [esp + 0xc4]
or ecx, edx
and esi, 0x4b6749cb
shr ebx, 0x1e
shl edx, 0x1f
xor ecx, ebx
xchg edx, ebx
jmp 0x46b890
mov edi, dword [esp + 0xe0]
mov ebx, 0x4b6a0b91
xor esi, ecx
xchg ecx, esi
sub esi, edx
sub edx, 0x4b6a79df
xor ebx, esi
shl edx, 0x16
xchg ecx, edx
sub edx, esi
sub ebx, edx
xchg ebx, edx
mov ebx, ecx
jmp 0x46d63a
mov edi, dword [edi]
and ebx, esi
add ebx, 0x4b6d2287
rol esi, 5
inc esi
and esi, edx
rol ebx, 0x1c
or ecx, 0x4b6dac49
mov ecx, esi
add edx, esi
shl ebx, 0x1f
mov edx, ebx
dec edx
sub edx, 0x4b6e49dd
xchg ebx, esi
jmp 0x46ad5c
sub dword [esp + 0xe0], 8
neg edx
inc edx
or edx, ecx
and esi, ecx
sub ecx, ebx
not esi
add ecx, edx
add ebx, esi
and ebx, ecx
bswap ecx
xchg esi, ecx
nop
not esi
mov ebx, ecx
bswap ebx
add esi, ecx
jmp 0x46cc70
ret
mov edi, dword [edi]
or edx, ecx
add ebx, 0x4b7e8e59
xor ecx, 0x4b7eae5b
neg esi
shl esi, 4
xchg esi, edx
xchg edx, ecx
bswap esi
xchg ecx, edx
shl ebx, 0x1d
jmp 0x46a535