Function at 0x46d353
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp eax, dword [esp + 0x78]
jmp 0x46ad8c
mov edx, dword [esp + 0x54]
and esi, ebx
neg ecx
or esi, 0xd26a2224
and edi, ebx
or ebx, esi
and esi, ecx
and ebx, esi
and ebx, esi
jmp 0x46ac67
rol eax, 8
xchg ecx, ebx
add ecx, edi
or esi, ecx
dec ecx
sub ecx, esi
mov edi, 0xd26dbe8c
add ecx, ebx
bswap edi
jmp 0x46c9df
mov edx, dword [edx]
and ebx, ecx
or esi, 0xd26f20b6
xchg ecx, edi
rol ecx, 5
not edi
sub edi, esi
add edi, ecx
dec esi
xor ecx, ebx
ror ebx, 7
jmp 0x46a4b7
mov dword [esp + 0x48], eax
xor esi, 0xd27178bc
add edi, ecx
sub ebx, edi
mov ebx, ecx
rol ebx, 0xf
inc edi
jmp 0x46b87f
add edx, dword [esp + 0x68]
mov esi, ecx
shl esi, 2
add esi, ecx
shl edi, 5
neg ecx
mov edi, ebx
shl edi, 0x14
neg esi
jmp 0x46b0e4
mov edx, dword [esp + 0x68]
mov edi, ebx
xchg esi, ebx
not ebx
or esi, edi
xchg ebx, edi
mov edi, ecx
xor ecx, edi
sub esi, ebx
or edi, esi
shr esi, 3
jmp 0x46b41b
mov dword [esp + 0x18], 0
and edi, ebx
add ebx, 0xd296fee2
dec ecx
or edi, ecx
sub ecx, edi
shl ebx, 7
add ecx, esi
and esi, edi
bswap edi
inc esi
sub edi, ebx
or esi, ebx
and ebx, ecx
or edi, 0xd29fa7b4
jmp 0x46ac17
mov edx, dword [edx]
add ecx, edi
dec ebx
xchg ebx, ecx
sub edi, 0xd2a0e148
jmp 0x46cf93
add esp, 0x90
ror edi, 0x14
or esi, ecx
xchg ebx, ecx
and ecx, ebx
xchg ebx, ecx
mov ecx, esi
add ebx, esi
or ecx, ebx
and edi, esi
sub esi, ecx
mov ecx, edi
rol ebx, 0xe
jmp 0x46bc41
mov edx, dword [edx]
xchg ecx, esi
shl esi, 0x1a
jmp 0x46ceef
movzx edx, word [edx]
add ecx, esi
sub ecx, edi
shl ecx, 0x1e
neg esi
mov esi, 0xd2a8fc14
xor ebx, 0xd2a91ba0
mov ecx, edi
xchg ebx, edi
add ecx, ebx
shl ecx, 0x14
jmp 0x46d2e0
mov edx, dword [edx]
xchg esi, edi
xchg ebx, esi
xchg edi, ecx
mov edi, esi
sub esi, ecx
mov ecx, edi
xchg edi, ecx
neg edi
jmp 0x46b154
add edx, 0xc
sub ecx, edi
ror ebx, 6
add ebx, esi
xor ebx, 0xd2b1aad6
xchg ecx, esi
xchg ebx, esi
rol esi, 0xb
or edi, 0xd2b21e8e
xor esi, 0xd2b23a6c
add esi, 0xd2b256aa
xor edi, ebx
add ebx, edi
jmp 0x46bdbb
mov edx, dword [edx]
xchg ecx, ebx
xor edi, esi
add edi, esi
mov ebx, ecx
not ebx
and edi, 0xd2b33b8c
jmp 0x46d0b8
mov dword [esp + 0x68], 0
add esi, ecx
or edi, esi
bswap ecx
add ecx, 0xd2b93dc2
xor edi, 0xd2b959a0
add esi, edi
jmp 0x46b000
mov edx, dword [edx]
neg esi
xor ebx, 0xd2bb549c
add ebx, edi
rol ebx, 0x16
not esi
xor ecx, edi
inc ecx
ror esi, 2
jmp 0x46cc58
jne 0x46be23
and ecx, edi
ror edi, 0x1a
sub edi, 0xd2c4ee98
or ecx, ebx
shr edi, 1
nop
xchg esi, edi
and edi, ecx
jmp 0x46b780
mov dword [esp + 0x54], 0
bswap edi
sub edi, ebx
mov esi, ecx
mov edi, ebx
xchg ebx, edi
bswap edi
add esi, ecx
shl edi, 9
mov esi, 0xd2d99526
xor ebx, 0xd2d9b130
jmp 0x46bffc
push edx
xor edi, 0xd2dfd3d8
mov ecx, ebx
add ebx, esi
mov ecx, 0xd2e025d0
xchg esi, ebx
xor ecx, esi
or esi, 0xd2e0776a
sub ecx, ebx
jmp 0x46b5f6
mov eax, 4
shr ebx, 4
add edi, ecx
add edi, ecx
add ecx, esi
or edi, 0xd2e121a4
xor esi, 0xd2e13d6c
xchg ebx, edi
add esi, ebx
bswap ebx
ror edi, 0x12
and edi, esi
add ecx, edi
shl ecx, 5
mov ebx, esi
jmp 0x46aa0f
mov dword [esp + 0x54], edx
sub edi, ecx
nop
mov ebx, 0xd2e3929a
add edi, ecx
shr esi, 0x19
xchg edi, ecx
mov ecx, 0xd2e401a0
xor edi, 0xd2e420ae
jmp 0x46bfb0
mul edx
sub edi, esi
shr ecx, 2
xchg edi, ecx
sub ebx, 0xd2e9f276
mov ebx, esi
sub ebx, esi
add esi, ebx
shl esi, 0x10
jmp 0x46a49b
add dword [esp + 0x54], eax
shl esi, 4
neg edi
dec esi
not edi
add edi, 0xd2eebbb4
and esi, ecx
mov edi, 0xd2eef576
and ebx, edi
shr edi, 9
or edi, ecx
jmp 0x46cb84
add edx, dword [esp + 0x48]
add ebx, 0xd2ef6b78
mov ebx, 0xd2ef87a6
sub edi, 0xd2efa36e
shl esi, 0x1a
mov ecx, 0xd2efdb0a
xor edi, 0xd2effa5a
mov esi, edi
xchg edi, esi
jmp 0x46b105
add edx, 0x3c
and ecx, 0xd2f979e4
xchg ebx, edi
bswap edi
and edi, ecx
or edi, esi
xor esi, ecx
shl ecx, 1
mov edi, ecx
and esi, ecx
or ecx, esi
jmp 0x46d113
mov dword [esp + 0x54], edx
dec ebx
xchg ecx, edi
jmp 0x46b506
add dword [esp + 0x54], 0x78
or ecx, ebx
sub ecx, esi
mov ebx, esi
rol ebx, 0xe
and ebx, ecx
xchg ecx, ebx
dec edi
shl ecx, 0x13
rol ebx, 0x13
or edi, esi
jmp 0x46d259
xor eax, eax
add ecx, esi
and ebx, 0xd307f3fa
and ecx, esi
xchg esi, ecx
rol ebx, 0x12
mov ecx, 0xd3085e02
xchg ebx, edi
ror ebx, 0xe
jmp 0x46bc66
mov edx, dword [edx]
add edi, 0xd309ac6c
mov edi, ebx
sub edi, 0xd309e670
xchg ebx, ecx
xchg edi, ebx
neg ebx
jmp 0x46badb
add dword [esp + 0x54], 4
sub esi, edi
bswap esi
or esi, 0xd3140c62
and edi, ecx
xchg ecx, edi
or ebx, 0xd3146200
dec edi
xor ecx, 0xd3149cc6
or ecx, edi
shl ebx, 2
add esi, ebx
dec edi
jmp 0x46a3a1
mov edx, dword [esp + 0x54]
rol esi, 6
mov ebx, edi
add ebx, ecx
sub ecx, edi
neg edi
shr ecx, 0x10
mov esi, 0xd3182c5a
and edi, ebx
xor edi, ecx
mov esi, ebx
jmp 0x46b63c
sub dword [esp + 0x54], 8
xor esi, 0xd31bd99e
mov ebx, edi
add ecx, ebx
xor esi, edi
and esi, ecx
xchg ecx, esi
shr esi, 0x13
or ecx, ebx
jmp 0x46d2ff
mov edx, dword [esp + 0x18]
mov ecx, ebx
or ecx, esi
add ebx, 0xd31f1ece
sub ecx, esi
or edi, ebx
ror ecx, 4
jmp 0x46b2d7
add edx, dword [esp + 0x68]
and edi, 0xd32f141a
sub ecx, ebx
sub edi, ecx
add esi, 0xd32f6abe
jmp 0x46c428
mov eax, 2
neg ebx
mov esi, 0xd33880c0
neg ecx
or esi, edi
and ebx, 0xd338fff2
sub ecx, ebx
jmp 0x46cc19
ret
xor al, byte [edx]
xchg ebx, edi
not esi
xor ecx, ebx
mov ecx, esi
xor edi, 0xd33c959a
xchg ecx, edi
nop
add ebx, esi
jmp 0x46a415
mov dword [esp + 0x54], edx
mov ecx, edi
mov esi, ecx
mov esi, ebx
xchg ebx, esi
bswap ebx
or edi, esi
and ebx, 0xd33ed41a
sub ebx, edi
jmp 0x46b8bf
mov edx, dword [edx]
xchg ecx, esi
not ebx
xor ebx, esi
and edi, 0xd3476886
shl edi, 0x19
add esi, edi
xor esi, edi
xor ecx, ebx
xchg ebx, ecx
mov ecx, ebx
xor ecx, esi
or ebx, ecx
jmp 0x46cafc
inc dword [esp + 0x48]
xor ebx, ecx
sub ecx, edi
ror ebx, 0x11
and esi, edi
or edi, 0xd34a83fc
and edi, esi
jmp 0x46c463
add edx, dword [esp + 0x54]
or ecx, edi
xchg edi, ecx
mov edi, esi
or ecx, ebx
and edi, esi
sub esi, ecx
jmp 0x46aaf0
mov edx, dword [esp + 0x68]
mov edi, esi
or ecx, ebx
not ecx
xor ebx, edi
mov ecx, 0xd3586fee
neg ebx
or esi, ecx
and esi, 0xd358c776
mov esi, ebx
mov ecx, edi
add ebx, edi
shr esi, 0x18
bswap edi
or esi, edi
jmp 0x46d339
mov dword [esp + 0x78], edx
dec esi
not ebx
sub ecx, esi
sub edi, esi
shl esi, 0x15
rol ecx, 0x19
xchg ebx, edi
and esi, edi
xchg edi, esi
bswap esi
add esi, 0xd35b6030
shl ebx, 0x12
shr edi, 0x1a
xchg ecx, esi
jmp 0x46c02b
mov edx, 0x30
xor ecx, esi
rol edi, 0xa
or ebx, 0xd35c1782
bswap esi
xchg esi, ebx
or ebx, 0xd35c6aa4
and esi, edi
xchg edi, esi
jmp 0x46c9f0
add edx, dword [esp + 0x68]
rol ebx, 0xb
xchg ecx, esi
or ecx, esi
rol esi, 0x12
add esi, ecx
mov ebx, 0xd37a1054
mov ebx, esi
sub esi, ebx
mov esi, ebx
sub ebx, ecx
jmp 0x46bca8
mov edx, dword [esp + 0x18]
rol esi, 0x14
add esi, 0xd3827a8e
xor ebx, esi
nop
jmp 0x46a450
mov dword [esp + 0x18], edx
sub ecx, edi
not ecx
or ebx, 0xd3840632
or esi, 0xd38425cc
jmp 0x46be23
add dword [esp + 0x18], 4
xchg esi, ebx
rol ebx, 0x14
xchg ecx, esi
mov edi, 0xd3854e50
mov ecx, esi
dec esi
inc ebx
or ecx, esi
add edi, ecx
or esi, ecx
jmp 0x46c3f2
mov dword [esp + 0x18], edx
dec edi
and edi, ecx
xchg ecx, edi
ror esi, 0x11
sub ecx, edi
or ecx, edi
jmp 0x46bc03
inc edx
xchg esi, edi
mov ecx, esi
add ebx, edi
mov esi, 0xd3b3955c
jmp 0x46d091
mov edx, dword fs:[edx]
xor edi, esi
and esi, edi
not ecx
xchg ebx, edi
inc ebx
add esi, 0xd3b44362
or edi, ecx
inc ecx
add esi, ebx
add esi, 0xd3b4b3a8
mov esi, ecx
xchg ecx, esi
jmp 0x46ab27
mov edx, dword [edx]
bswap esi
add esi, 0xd3b9878e
mov esi, ecx
xor esi, 0xd3b9bb0e
xor esi, ecx
xchg edi, ebx
and edi, 0xd3ba0a30
add esi, edi
sub edi, ebx
inc ebx
add ecx, edi
xchg ebx, edi
jmp 0x46c2de
add edx, 0xc
xor edi, ecx
or ebx, edi
xchg ecx, esi
xor ecx, ebx
mov esi, edi
or ecx, 0xd3bd778e
and ebx, edi
or ecx, esi
jmp 0x46cd6f
mov edx, dword [esp + 0x54]
mov ebx, 0xd3c1a23e
dec ebx
add ebx, ecx
mov ebx, 0xd3c1f93a
and ebx, 0xd3c2154a
xchg edi, esi
jmp 0x46a9ae
mov edx, dword [esp + 0x48]
sub edi, ecx
xchg ecx, ebx
and ebx, ecx
inc ebx
shl ecx, 0x14
mov edi, esi
or ecx, ebx
mov ecx, edi
jmp 0x46b226
pop edx
mov ebx, ecx
or ebx, ecx
and ebx, 0xd3c72be6
and ebx, 0xd3c74458
add ebx, 0xd3c760e8
or ecx, ebx
xchg esi, ecx
rol esi, 1
jmp 0x46a34b
add edx, dword [esp + 0x68]
dec ebx
not edi
add ecx, esi
add ebx, 0xd3c83304
mov edi, 0xd3c84ffe
mov ecx, esi
jmp 0x46c4f5
mov edx, dword [edx]
mov esi, 0xd3d017a0
sub ebx, edi
rol ecx, 3
add ebx, esi
jmp 0x46d29d
mov dword [esp + 0x48], 0
mov esi, ebx
ror esi, 0x19
add ebx, edi
and edi, 0xd3d21234
xchg esi, edi
shl ecx, 0xd
sub ecx, edi
sub ecx, edi
xor edi, 0xd3d29e56
add esi, ecx
neg ecx
xor esi, ebx
jmp 0x46a8b2
add edx, dword [esp + 0x68]
xchg esi, ecx
or esi, edi
neg esi
xor ebx, edi
sub ecx, 0xd3dc72e4
or ecx, 0xd3dc9260
mov ecx, 0xd3dcaeda
xor esi, ecx
add ebx, 0xd3dce494
or esi, edi
xchg ecx, ebx
xor esi, 0xd3dd3722
jmp 0x46a989
add edx, 0x18
sub ebx, 0xd3e1379e
or esi, edi
or ecx, esi
mov esi, ebx
add ecx, ebx
or ebx, 0xd3e1b63a
xchg esi, ecx
ror esi, 0x15
and esi, 0xd3e20e7c
sub ebx, edi
add esi, ebx
add ecx, esi
jmp 0x46ab59
jne 0x46bc66
or ecx, esi
xchg ecx, ebx
xor ebx, esi
mov edi, ecx
xchg edi, ebx
and ebx, edi
jmp 0x46cc35
cmp byte [edx], 0
jmp 0x46cffa
mov dword [esp + 0x68], edx
mov edi, ecx
and ecx, edi
jmp 0x46a792
mov edx, dword [edx]
dec ebx
sub ecx, 0xd3ebf072
or ebx, esi
xchg esi, ecx
inc edi
and ecx, esi
mov ecx, edi
sub ecx, ebx
rol esi, 0x1a
and ecx, 0xd3ecca26
jmp 0x46b4a0
mov edx, dword [esp + 0x68]
add ecx, 0xd3f47e00
ror ecx, 0x14
and esi, ebx
mov edi, esi
mov ebx, ecx
inc ecx
jmp 0x46be5a
mov edx, dword [edx]
dec edi
neg esi
sub ecx, 0xd3f68d6a
and ecx, edi
xor esi, ebx
xchg esi, ebx
shr ecx, 5
add ebx, 0xd3f7126c
jmp 0x46a902
mul edx
neg ebx
neg edi
or esi, ebx
add esi, 0xd3f889f6
mov esi, ecx
ror edi, 2
mov esi, 0xd3f8d93e
add ecx, ebx
jmp 0x46b2af
mov edx, dword [esp + 0x54]
not esi
inc ecx
xchg ecx, ebx
inc edi
and ecx, esi
mov ecx, edi
or ebx, edi
not ecx
jmp 0x46caa8
add dword [esp + 0x54], 0x20
and esi, ecx
mov ebx, ecx
inc edi
mov esi, edi
add ecx, 0xd3fa6c78
or edi, ebx
mov edi, esi
or ecx, ebx
jmp 0x46b7f9
add dword [esp + 0x54], edx
rol edi, 0x1e
mov edi, esi
and ebx, 0xd3fb15c4
shr esi, 0x1b
jmp 0x46d319
sub esp, 0x90
and ebx, esi
mov ebx, edi
rol ecx, 0x11
add esi, 0xd3fba6f2
add esi, edi
or ecx, ebx
and edi, 0xd3fbfbac
or ecx, 0xd3fc1780
jmp 0x46cda2