Function at 0x46cf70
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [edx]
add edi, 0x52c5ed01
or ebx, ecx
rol edi, 0x18
xchg esi, edi
neg esi
xchg ecx, edi
add edi, esi
xor ebx, 0x52c6ac71
jmp 0x46a89a
mov edx, dword [edx]
xchg ebx, esi
sub ecx, 0x52c6ecc5
add esi, ebx
xor edi, ebx
neg ebx
and ecx, esi
shr ecx, 0xb
add edi, ebx
and esi, ecx
dec esi
jmp 0x46cb9d
mov edx, dword [esp + 0x118]
inc edi
shr edi, 0xf
mov ecx, edi
and ecx, 0x52c8380d
add ebx, edi
add ecx, ebx
xor esi, edi
not edi
jmp 0x46d102
mov edx, dword [esp + 0x118]
mov esi, edi
mov ecx, 0x52ca3665
rol edi, 0xc
mov edi, ebx
neg ebx
xchg ecx, ebx
add ebx, edi
mov ebx, esi
and ecx, 0x52caf2ff
mov ebx, 0x52cb0fd7
jmp 0x46d8e8
xor al, byte [edx]
xchg ebx, ecx
xchg ecx, edi
bswap esi
and edi, ecx
mov edi, 0x52ccb863
add edi, esi
mov ecx, ebx
or edi, 0x52cd0403
and ecx, esi
sub ebx, 0x52cd3f7d
jmp 0x46ae1d
mov edx, dword [esp + 0x3c]
sub esi, ebx
mov ecx, ebx
mov ebx, 0x52d637d7
mov esi, ebx
xor edi, ecx
inc esi
add esi, 0x52d69e0f
or esi, ebx
mov ebx, ecx
and ebx, edi
add ecx, esi
xchg edi, ecx
xor esi, ebx
not ecx
xor ebx, esi
xor ebx, edi
jmp 0x46d575
add edx, dword [esp + 0x3c]
not esi
shl ecx, 0x13
add ecx, 0x52dc77fd
xor esi, ebx
not ecx
and edi, ecx
add edi, esi
xchg ebx, esi
jmp 0x46cc2e
mul edx
xor esi, ecx
ror edi, 0xf
sub edi, esi
add esi, edi
mov ebx, 0x52ea8c03
sub ecx, esi
or ecx, ebx
add ecx, 0x52eae0eb
add edi, esi
mov ecx, edi
jmp 0x46cfb1
add edx, 0xc
and esi, edi
and ecx, 0x52f4c333
add edi, ebx
add edi, 0x52f4f6b3
sub esi, 0x52f5166b
mov edi, ecx
xchg ecx, ebx
or esi, 0x52f56741
add ecx, ebx
mov ebx, edi
dec ecx
and edi, esi
jmp 0x46ac61
pop edx
ror ecx, 0xe
sub ebx, esi
or ebx, 0x52f71495
sub edi, ebx
inc ebx
mov ecx, 0x52f7675f
or edi, ecx
dec ecx
sub ecx, edi
sub ecx, 0x52f7d41b
jmp 0x46bb8d
mov edx, dword [edx]
xor esi, edi
and ebx, 0x52fd590b
xor edi, ebx
neg ebx
and esi, edi
not edi
xor edi, esi
neg esi
xchg esi, edi
and edi, ebx
xor ebx, esi
mov edi, ecx
jmp 0x46db95
add dword [esp + 0x118], 0x78
sub ebx, 0x53022a31
add esi, 0x530246c7
sub ecx, ebx
xor edi, 0x53027d95
and ecx, esi
sub ebx, 0x5302b487
bswap ebx
and ebx, ecx
jmp 0x46dbd8
cmp byte [edx], 0
jmp 0x46d77c
mov edx, dword [esp + 0x50]
add esi, ebx
rol ecx, 0x14
mov esi, ecx
mov ebx, 0x530eae3f
inc edi
or ebx, ecx
sub ebx, ecx
add ebx, esi
shl ecx, 0x16
add ecx, 0x530f524d
sub edi, ebx
xor ebx, edi
add esi, 0x530fa325
and edi, esi
and ebx, esi
or ecx, 0x530ff143
jmp 0x46a767
mov edx, dword [edx]
mov ebx, ecx
and ebx, edi
shl esi, 0x17
add esi, 0x531258f5
bswap ecx
or edi, 0x53129179
xchg esi, ecx
sub ebx, 0x5312c71d
jmp 0x46d407
mov edx, dword [edx]
add edi, ebx
and ecx, 0x5314becb
xor edi, ecx
neg ecx
xor ecx, edi
not ebx
xor esi, edi
not edi
xor esi, edi
not edi
xor ecx, ebx
dec esi
xor esi, ebx
not ecx
and esi, 0x531625b5
mov ecx, 0x53163e71
jmp 0x46ae3a
rol eax, 8
sub ecx, edi
add esi, ecx
sub ebx, esi
not esi
or esi, edi
not edi
mov esi, ebx
or esi, ebx
or ebx, ecx
shl esi, 0x18
jmp 0x46cfff
mov dword [esp + 0x3c], edx
add ebx, esi
add edi, ecx
sub edi, 0x5322c7e1
bswap edi
or ecx, ebx
dec edi
jmp 0x46b696
mov dword [esp + 0x50], 0
mov esi, ebx
or ebx, esi
add ebx, edi
shr ecx, 5
xor esi, ebx
xor edi, ecx
sub edi, ecx
and ebx, ecx
rol ebx, 0x1c
mov edi, 0x53290acd
mov ebx, edi
and ecx, ebx
jmp 0x46b982
mov edx, dword [esp + 0x118]
and edi, ecx
mov edi, esi
xchg esi, edi
add edi, ecx
xchg edi, ecx
mov ecx, ebx
add ecx, edi
add ecx, 0x533dfb55
add esi, ebx
or ecx, ebx
xor ecx, edi
add ebx, 0x533e6629
xor edi, esi
xchg esi, edi
and ecx, esi
rol edi, 0xc
jmp 0x46c3b5
mov edx, dword [esp + 0x118]
or esi, ebx
mov ebx, ecx
xor edi, ebx
and ebx, 0x534bf21d
and ecx, esi
xor ecx, edi
not ebx
xor edi, 0x534c5ee9
or esi, ebx
and esi, 0x534d50bf
not ebx
and ebx, esi
and ebx, edi
rol esi, 6
sub esi, ebx
sub esi, 0x534df22b
jmp 0x46a319
ret
mov eax, 4
dec esi
neg ecx
and esi, ebx
xor esi, ecx
mov ebx, ecx
add ebx, edi
and edi, 0x5357c041
xchg edi, ecx
not ebx
not esi
add esi, 0x53583417
and ebx, ecx
sub ecx, esi
xchg edi, esi
jmp 0x46d01c
xor eax, eax
and edi, esi
inc edi
add edi, esi
add edi, ebx
and ecx, 0x535d574d
mov edi, ecx
jmp 0x46a3ce
sub dword [esp + 0x118], 8
xchg edi, ebx
or edi, ecx
and ecx, 0x535dc8c1
and ecx, ebx
xor edi, ecx
add ebx, ecx
xor ebx, edi
mov ecx, 0x535e5173
jmp 0x46a37e
mov dword [esp + 0x44], edx
or edi, 0x53622dfd
sub esi, ecx
mov edi, 0x536267eb
and esi, edi
xor ebx, 0x53629a57
shr ecx, 0x1b
jmp 0x46ccd8
mov edx, dword fs:[edx]
add edi, ecx
or esi, ecx
mov edi, ecx
rol esi, 0x16
neg edi
and ebx, ecx
add edi, ecx
and ebx, edi
and esi, edi
bswap edi
jmp 0x46d89b
mov edx, dword [esp + 0x3c]
mov esi, ecx
mov edi, ebx
sub edi, esi
mov ecx, ebx
nop
shl esi, 0x1d
neg edi
bswap esi
add edi, ecx
add esi, edi
shr esi, 4
mov ecx, esi
jmp 0x46d1c8
add edx, dword [esp + 0x50]
xor ebx, esi
add esi, 0x5388dc6d
inc esi
ror esi, 0xe
sub ebx, ecx
add edi, 0x53897b63
add ebx, esi
sub esi, edi
jmp 0x46b32d
add dword [esp + 0x118], 0x20
xor ebx, edi
mov esi, edi
and esi, 0x538a2847
and edi, 0x538a4e0d
sub ecx, ebx
shr ebx, 0xb
xchg ebx, ecx
or ebx, esi
jmp 0x46b17a
mov dword [esp + 0x118], edx
shr ebx, 0x14
shr esi, 0x1b
add ebx, esi
rol edi, 0x10
xor esi, ecx
xor esi, ebx
or edi, esi
xor ebx, ecx
or ebx, ecx
or ecx, edi
rol esi, 0x11
xchg edi, esi
not esi
or ecx, 0x539afa95
xor ebx, esi
shr edi, 0xf
jmp 0x46aa3e
mov dword [esp + 0x44], 0
xor esi, ecx
sub edi, ebx
or edi, ebx
or ecx, esi
or ecx, esi
mov ecx, 0x53ad47c1
bswap edi
add ebx, esi
jmp 0x46cab2
mov edx, dword [edx]
mov esi, 0x53b89fbb
xchg edi, ebx
ror esi, 2
mov esi, ebx
mov ecx, ebx
xchg edi, ebx
jmp 0x46b7fa
mov dword [esp + 0x118], edx
and edi, esi
add ebx, 0x53b9a9c5
mov ebx, esi
add edi, esi
and esi, edi
bswap esi
or ebx, esi
rol edi, 0x17
not ecx
and ecx, 0x53bacb3b
jmp 0x46d54e
cmp eax, dword [esp + 0xcc]
jmp 0x46c2f7
mov edx, 0x30
mov esi, edi
and ecx, esi
or esi, edi
inc ebx
ror ebx, 0x18
mov ecx, edi
mov ebx, ecx
and edi, 0x53dd35bb
jmp 0x46b61c
mov edx, dword [esp + 0x44]
xor edi, ebx
mov esi, ebx
add esi, edi
xchg ebx, edi
shr edi, 0x14
mov ebx, 0x53e89f73
add edi, ecx
or edi, esi
jmp 0x46c9b5
add edx, dword [esp + 0x3c]
or ecx, edi
shl ebx, 0x19
xor ecx, ebx
rol esi, 0xc
add esi, 0x53ee811b
sub ebx, edi
dec esi
neg esi
add esi, edi
neg ebx
xor esi, edi
or esi, ebx
jmp 0x46c72d
mov dword [esp + 0x118], edx
and edi, esi
shl ebx, 2
add esi, 0x5401635d
rol ecx, 8
xchg ecx, edi
sub ecx, edi
jmp 0x46a4f9
add edx, dword [esp + 0x118]
or ebx, esi
add ebx, 0x54023251
bswap esi
xor esi, 0x54028531
sub ebx, ecx
add ebx, esi
add edi, 0x5402ee39
shl ecx, 0x1d
mov edi, ebx
and ebx, ecx
or ecx, 0x54038fa5
add edi, esi
neg edi
ror esi, 0xb
jmp 0x46c4ea
jne 0x46c5d6
inc ecx
bswap ecx
and ebx, esi
or ecx, 0x5439437f
add ebx, 0x54395c3b
neg edi
or esi, edi
xchg ecx, ebx
xor esi, ebx
and esi, ecx
jmp 0x46ca56
mov edx, dword [edx]
mov ebx, ecx
xor edi, ebx
neg ebx
xchg ecx, ebx
mov ebx, esi
xchg ebx, edi
jmp 0x46c917
mov edx, dword [edx]
and ecx, esi
sub ebx, 0x5447ecbb
add edi, ebx
and esi, ecx
and ecx, edi
and ecx, 0x5448560b
jmp 0x46bf20
mov dword [esp + 0x44], edx
inc edi
or ebx, ecx
neg edi
mov esi, 0x5448cf43
xchg ebx, ecx
xchg ecx, edi
jmp 0x46c5d6
inc dword [esp + 0x50]
xor edi, ebx
neg ebx
or esi, 0x544e9697
xchg ebx, ecx
or edi, 0x544eccc9
mov ecx, edi
jmp 0x46c6fd
mov dword [esp + 0xcc], edx
and esi, edi
bswap edi
mov edi, ebx
add esi, ecx
not esi
and edi, esi
jmp 0x46bc63
add dword [esp + 0x44], 4
or ebx, esi
mov ecx, 0x545b11cf
xor ecx, edi
and ecx, 0x545b4461
sub ebx, esi
ror ecx, 0xc
add edi, ecx
and esi, edi
and edi, ecx
xor ebx, edi
dec ecx
or ecx, ebx
mov esi, ecx
add edi, ebx
jmp 0x46bcf3
push edx
dec edi
or ecx, ebx
shr edi, 0x1f
sub ecx, ebx
xor ecx, edi
not ebx
xor ebx, ecx
and ecx, esi
shl ecx, 9
inc edi
xchg edi, esi
xchg ebx, ecx
jmp 0x46b3ea
add edx, dword [esp + 0x3c]
sub ebx, ecx
or edi, 0x547ccff7
shl ecx, 0x1b
or ebx, esi
and ecx, edi
sub ecx, 0x547d6685
jmp 0x46c505
mov edx, dword [edx]
sub ebx, esi
xchg esi, edi
add ebx, esi
xchg ebx, ecx
sub edi, 0x5484546f
inc ecx
and ecx, edi
and edi, ebx
and esi, ecx
xor edi, ebx
jmp 0x46bd82
add dword [esp + 0x118], 4
xor ecx, ebx
and ecx, edi
xor esi, 0x548b52f7
add edi, ebx
sub edi, 0x548ba557
xchg ecx, ebx
jmp 0x46b20f
mov dword [esp + 0x3c], 0
or esi, ebx
rol ecx, 0x16
mov edi, 0x548e3c45
shr ebx, 0x14
or esi, ebx
or ebx, esi
xor esi, 0x548ec471
not edi
shl edi, 0x18
bswap ebx
xor esi, edi
add esi, 0x548f8aa7
not ecx
xchg edi, esi
and ecx, edi
mov ebx, 0x54901a07
jmp 0x46cb2f
mov dword [esp + 0x118], 0
and ecx, 0x5492967f
or esi, ebx
xor ecx, esi
add edi, 0x54930219
mov edi, ecx
mov edi, ecx
mov ecx, edi
mov ecx, edi
jmp 0x46c617
add edx, dword [esp + 0x3c]
shl esi, 0xd
add edi, ecx
or edi, esi
sub ecx, ebx
and esi, 0x54977019
xor edi, 0x54979b93
xor edi, esi
add edi, 0x5497f087
and edi, 0x54981ae9
and esi, 0x549845ed
or ecx, 0x54986c19
mov esi, ecx
jmp 0x46b48f
add esp, 0x13c
rol edi, 9
xor ebx, 0x549c8bd5
add edi, esi
or edi, esi
and ecx, 0x549cfd85
or edi, 0x549d1c57
or ebx, esi
sub ebx, ecx
jmp 0x46b266
mov eax, 2
neg ecx
neg esi
mov ebx, esi
add esi, ecx
neg ecx
and esi, ecx
mov edi, esi
or edi, ebx
mov esi, edi
xchg ebx, edi
jmp 0x46abe3
add edx, dword [esp + 0x3c]
and ecx, esi
shl edi, 1
xor edi, esi
xor ebx, esi
or edi, esi
xor edi, ebx
dec edi
shl ecx, 0x12
and edi, 0x54af873d
and ebx, esi
add ecx, 0x54afceb1
and esi, ecx
jmp 0x46ba9c
sub esp, 0x13c
dec edi
dec edi
shl ecx, 0x1e
add ebx, esi
sub edi, ebx
sub ebx, ecx
xchg esi, edi
neg ecx
shr edi, 0x18
or edi, ebx
jmp 0x46aef4
mov dword [esp + 0x50], eax
ror edi, 0x1f
mov ebx, edi
add edi, ecx
or ecx, esi
xor edi, ebx
or esi, ecx
xchg ecx, ebx
add ebx, edi
mov ebx, edi
sub ecx, esi
xchg ecx, esi
ror esi, 2
jmp 0x46b400
inc edx
sub ecx, ebx
xchg esi, ebx
and edi, esi
dec ecx
mov esi, ebx
and ecx, 0x54c7895f
sub edi, ebx
and esi, 0x54c7d637
jmp 0x46ab44
movzx edx, word [edx]
xchg esi, ebx
shr esi, 0x10
shl ebx, 7
sub ebx, 0x54c8889d
and ecx, esi
or esi, edi
and ecx, esi
add esi, 0x54c9299b
or ebx, edi
or edi, ebx
shr ecx, 0xe
inc ebx
jmp 0x46d1fc
mov edx, dword [edx]
bswap edi
xor edi, 0x54d2c0ed
sub ebx, esi
add edi, 0x54d309cd
mov edi, ebx
and edi, ecx
rol ebx, 0x1f
and ecx, ebx
not edi
xchg ecx, edi
sub ecx, ebx
add ebx, ecx
jmp 0x46a5b7
add edx, 0x3c
add ebx, 0x54db1d11
dec edi
and ebx, 0x54db68ef
mov ebx, esi
or ecx, 0x54dbb1e5
xor ebx, 0x54dbd525
not ecx
mov ebx, esi
and esi, ebx
add esi, edi
xor edi, ecx
or ebx, ecx
shl edi, 5
xor edi, ebx
jmp 0x46ba85
mul edx
add ecx, edi
sub ecx, edi
add edi, ecx
mov ecx, ebx
not edi
shl esi, 0x18
or esi, ecx
xor edi, 0x54e0960b
add esi, edi
nop
xchg edi, ecx
xor ebx, 0x54e682c3
xor esi, ecx
xchg ecx, edi
rol ebx, 7
or edi, 0x54e716cf
jmp 0x46dbbf
mov edx, dword [edx]
and esi, ecx
or ebx, edi
or ecx, edi
sub edi, 0x54ff2583
xor ebx, 0x54ff4e09
or ecx, edi
xchg ebx, ecx
neg ecx
jmp 0x46a9a2
mov edx, dword [esp + 0x44]
xchg ebx, edi
add edi, 0x550dd33f
add ecx, edi
sub esi, ebx
or esi, 0x550e482d
inc edi
add esi, 0x550e95a9
add esi, ebx
jmp 0x46b71f
add dword [esp + 0x118], edx
or ebx, edi
or ebx, esi
or esi, 0x550f2ea7
neg edi
bswap ebx
xor edi, ecx
add edi, ebx
xchg edi, esi
or ebx, 0x5510205f
or esi, edi
add edi, ebx
or ebx, edi
jmp 0x46b743
jne 0x46a3ce
add ecx, ebx
ror edi, 0xc
neg esi
sub esi, 0x552eaa99
jmp 0x46a8e2
add edx, 0xc
mov esi, edi
xor ecx, esi
xor esi, edi
or ebx, esi
bswap edi
mov esi, 0x553cf645
jmp 0x46a2f9
mov edx, dword [edx]
mov edi, ecx
sub esi, edi
shr esi, 0x1c
sub edi, ecx
xor ebx, edi
xor esi, edi
ror ecx, 0x18
nop
or ebx, edi
sub edi, ebx
and esi, ecx
bswap ecx
sub ebx, esi
add ebx, ecx
jmp 0x46cdcd
add edx, 0x18
or esi, 0x5559f509
xchg ebx, esi
sub edi, ecx
not esi
or ebx, esi
xor ecx, ebx
mov esi, 0x555a97c3
or edi, esi
mov ecx, ebx
not edi
dec esi
not esi
and ebx, ecx
not edi
jmp 0x46acb1
add dword [esp + 0x118], eax
or edi, esi
shr esi, 0x17
mov edi, ecx
add edi, 0x555bd2cb
jmp 0x46a338
mov edx, dword [esp + 0x3c]
xchg esi, edi
mov ebx, ecx
inc edi
xor edi, 0x555c46b7
dec esi
add ebx, edi
xor ecx, esi
mov esi, edi
sub ebx, edi
xor edi, esi
jmp 0x46bf3e