Function at 0x46d34f
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0x94], esi
or ecx, edx
sub ebx, edx
neg ecx
shl ecx, 5
sub edx, 0xdfd45dc6
rol ecx, 9
xor edx, ebx
inc edx
dec edx
or edi, edx
jmp 0x46a53b
mul esi
xor ecx, ebx
and ecx, edi
mov edx, edi
not edx
nop
shl edi, 0x1e
xchg ecx, edi
and ebx, 0xdfd703d4
jmp 0x46c8ef
mov dword [esp + 0x94], esi
sub edx, 0xdfdbb7ba
mov edx, ebx
bswap ecx
add ebx, edi
not ebx
rol ecx, 0x1d
jmp 0x46bc11
mov esi, dword [esi]
add ebx, edi
add ebx, ecx
sub ebx, 0xdfe7be2e
shl ecx, 0xe
jmp 0x46aab9
mov esi, 0x30
ror ecx, 0x19
and edx, ecx
jmp 0x46a6e6
add dword [esp + 0x94], eax
dec ebx
shr ecx, 0x18
neg ecx
xor ecx, edi
or edx, edi
sub ebx, ecx
mov ecx, 0xdfe92204
sub edi, ebx
mov ecx, edx
bswap ecx
xchg ebx, ecx
or edx, ecx
jmp 0x46ab18
inc dword [esp + 0xa8]
mov edx, edi
sub ebx, edi
sub edx, edi
mov ecx, ebx
sub edi, ecx
mov ecx, edi
neg ecx
sub edi, ecx
xchg ebx, edi
or ebx, ecx
or edi, ebx
or edx, edi
mov edx, 0xdfed41c8
shl ecx, 0xe
jmp 0x46a76d
mov esi, dword [esi]
rol edi, 0x16
sub ecx, edi
mov ebx, ecx
not ebx
xchg ecx, edx
mov ebx, edx
xor edi, ecx
rol edx, 0x11
jmp 0x46c2aa
add dword [esp + 0x94], 0x20
or edi, ebx
add ebx, 0xdfeebd3c
or edx, 0xdfeed9d2
ror edx, 0x19
neg edx
xchg ecx, edx
or ecx, 0xdfef4a2e
and ebx, edx
jmp 0x46bdf3
mov esi, dword [esp + 0x74]
add edx, ecx
xor ebx, ecx
ror ecx, 5
or ebx, edi
or edx, ebx
and ebx, 0xdff41684
jmp 0x46c8c1
mov esi, dword fs:[esi]
mov ebx, edx
and ebx, edi
bswap edx
add ebx, edi
jmp 0x46a8cc
add dword [esp + 0x74], 4
bswap ecx
and ebx, edi
xchg edi, ebx
xor edx, ecx
or ebx, 0xe00009a0
mov edx, ecx
add edi, ecx
sub edi, ecx
jmp 0x46ce1c
add esi, 0xc
xor ebx, ecx
sub edi, ebx
or ebx, ecx
ror edx, 0xf
jmp 0x46ab01
mov esi, dword [esp]
ror edx, 1
xchg edi, ecx
xor edx, 0xe00cb034
xchg ecx, ebx
neg edi
rol edi, 0x15
not edi
xor ecx, edx
inc ecx
or ecx, 0xe00d72a6
mov edx, edi
add ebx, ecx
and ebx, 0xe00dbdc8
and edi, ebx
jmp 0x46b372
add esi, dword [esp]
and edx, edi
rol edx, 0x16
sub ebx, ecx
sub ecx, edx
add ecx, 0xe0192e1c
xor ebx, edx
shl ecx, 0x10
or ebx, edx
or ecx, edi
not edi
jmp 0x46b939
mov esi, dword [esi]
and edx, ebx
xor ebx, edx
mov ebx, 0xe01afa50
not ecx
xor edx, ecx
shr edi, 4
jmp 0x46ad2f
mov esi, dword [esp + 0x94]
mov ecx, edx
and ecx, edi
add edi, ecx
add edx, edi
rol ecx, 0x15
or edi, edx
or ebx, edi
neg ebx
xchg ecx, ebx
add edi, ebx
xchg edi, ebx
sub edi, 0xe01c8e10
shr ecx, 9
and ebx, ecx
jmp 0x46ca46
rol eax, 8
bswap ecx
add ebx, edi
rol edi, 0x12
rol edx, 0xe
mov ebx, edi
or ebx, edx
or ecx, edi
not edi
jmp 0x46acf2
mul esi
xchg edi, edx
shl ecx, 0xa
xchg ebx, ecx
mov edi, 0xe028fd60
bswap ecx
add ebx, edi
rol edi, 0x1f
not edi
shr edi, 0xb
or edx, 0xe029a21a
rol ebx, 7
mov ebx, ecx
jmp 0x46a485
inc esi
sub ebx, edi
add edi, 0xe02afe6a
shl ecx, 0x17
or ebx, edx
and ebx, ecx
add edi, ecx
xchg ebx, ecx
or ebx, ecx
jmp 0x46bbaa
add esi, 0xc
xor edx, edi
xor ebx, edx
mov ebx, 0xe02d0164
mov ecx, edi
xchg edi, ebx
bswap ecx
and edx, ecx
xor edx, ecx
jmp 0x46b062
mov esi, dword [esi]
mov edx, 0xe045a2aa
mov ecx, ebx
sub ebx, edi
or edi, 0xe045f260
shl ecx, 0x1a
add edx, edi
and edi, edx
add edi, ecx
jmp 0x46a522
pop esi
xor ecx, 0xe04879c8
ror edi, 0x17
or edi, ebx
sub ebx, edx
sub ebx, ecx
add edx, 0xe048f93c
shr ecx, 0x11
add edi, edx
add edi, ebx
xchg ecx, edi
jmp 0x46b90a
mov dword [esp], esi
xor ebx, 0xe0509fda
or ebx, 0xe050be86
and ebx, ecx
mov ecx, 0xe050f188
jmp 0x46b5c1
mov dword [esp + 0x94], esi
shl ecx, 0xb
and edx, edi
xchg edi, edx
mov ebx, edi
jmp 0x46bf59
add esp, 0xb0
mov edi, edx
sub edi, 0xe05b9a0e
add ebx, edi
shl edi, 0xd
mov ecx, 0xe05be8a4
neg edi
xchg edi, edx
bswap edx
jmp 0x46cb67
add esi, dword [esp + 0x94]
shl edx, 1
add ebx, 0xe05da8b6
jmp 0x46be5d
mov dword [esp + 0x94], 0
or ecx, edx
and ecx, ebx
xchg ebx, ecx
mov edi, ebx
and edi, ecx
ror ebx, 0x14
jmp 0x46c378
add esi, 0x18
sub ecx, edi
bswap ebx
sub edi, ebx
not edi
mov edx, edi
sub ebx, edi
jmp 0x46b425
mov esi, dword [esi]
add edx, 0xe062ae1c
xor ebx, edi
sub edx, ecx
add ecx, ebx
ror ebx, 0xb
or edx, ebx
neg ebx
ror ebx, 0x13
xchg ebx, edi
mov ecx, ebx
inc edi
shr ebx, 4
jmp 0x46b1c2
mov esi, dword [esp]
xor ebx, edi
ror edx, 0x16
jmp 0x46b755
mov eax, 2
dec edi
neg edx
bswap ebx
sub edi, ebx
rol edx, 0x18
not edx
rol edi, 0x18
dec edx
jmp 0x46b95e
add esi, 0x3c
shr edi, 0x19
xchg ebx, edi
bswap edi
shl edx, 5
and ecx, 0xe07cdce8
rol ebx, 0x15
add edx, 0xe07d1112
xor ebx, edi
jmp 0x46ba1a
xor al, byte [esi]
or ecx, edi
add edi, 0xe07d68de
dec edi
sub ecx, edx
jmp 0x46abad
add esi, dword [esp]
ror ecx, 0x15
sub edx, ecx
mov ebx, edi
neg edi
and ebx, ecx
xor ebx, 0xe07e499c
and edx, edi
sub ebx, edx
jmp 0x46b9f7
cmp eax, dword [esp + 0x90]
jmp 0x46c574
mov dword [esp + 0x94], esi
or ebx, edx
or ecx, edi
not edi
ror ebx, 6
xchg ebx, edi
or edi, edx
mov edx, ecx
or ebx, ecx
or ecx, edx
add edx, 0xe08b3ca8
jmp 0x46a5ea
mov esi, dword [esp + 0xa8]
bswap edi
and edi, ebx
inc edi
shl edi, 0x19
jmp 0x46a221
push esi
mov edx, edi
add ebx, 0xe08f2d26
xchg edx, ebx
xchg edi, ecx
xor edx, 0xe08f7de0
add ecx, edx
or ebx, 0xe08fb480
shr edx, 0xb
jmp 0x46c3d6
mov esi, dword [esi]
add edi, ecx
add edx, ecx
xor edi, 0xe0902700
and edi, edx
ror ecx, 8
sub ecx, ebx
shl edx, 0xe
mov ebx, 0xe090aa98
jmp 0x46a2e4
add esi, dword [esp]
xor ebx, 0xe093c204
xchg ebx, edx
not ebx
and edi, edx
add edi, ecx
sub edi, ebx
xor edx, ecx
xchg ecx, edx
mov ebx, edx
inc ecx
jmp 0x46b321
mov esi, dword [esp + 0x94]
xchg ecx, ebx
mov ebx, 0xe096822c
xor ebx, edx
add ecx, edx
or ebx, 0xe096cffa
rol edx, 0x18
mov ebx, edi
xor edi, edx
jmp 0x46a458
mov esi, dword [esp + 0x94]
xchg ebx, ecx
bswap edx
sub edi, edx
rol edi, 0x16
or ecx, edi
or ecx, edx
jmp 0x46d0fe
cmp byte [esi], 0
jmp 0x46c49f
add dword [esp + 0x94], 0x78
sub ebx, ecx
mov ecx, 0xe09eb702
shl ebx, 1
xchg ecx, edi
sub edx, ebx
add ebx, edi
and edx, 0xe09f3972
xor ebx, edx
sub edx, ebx
and edx, ecx
rol ecx, 7
sub edx, 0xe09fbf26
jmp 0x46a92e
mov eax, 4
bswap ebx
and ecx, 0xe0a22ba6
sub ebx, ecx
mov edx, edi
sub ebx, edi
mov edi, ecx
sub ecx, edx
sub ebx, edx
jmp 0x46c85f
mov esi, dword [esp + 0x94]
add edx, ebx
add ecx, ebx
jmp 0x46c030
mov esi, dword [esi]
rol edx, 0x1d
sub ecx, edx
xor ebx, edi
xchg edi, ebx
jmp 0x46b25f
mov esi, dword [esp]
mov edi, 0xe0b677a8
or edi, ecx
jmp 0x46a1cd
mov esi, dword [esi]
neg ebx
rol ebx, 3
mov ebx, ecx
neg ebx
shl ebx, 0x14
xchg ecx, edi
mov ecx, edx
or edi, ecx
xchg edx, edi
or edx, ecx
jmp 0x46c08e
add esi, dword [esp]
or edi, ebx
xor edx, edi
rol ebx, 0x19
or edi, ecx
mov edx, ebx
and edi, edx
sub ecx, edx
sub ebx, edx
mov edx, 0xe0bfd226
xor edi, edx
neg edx
mov edi, edx
jmp 0x46c282
mov dword [esp + 0x74], esi
mov ebx, 0xe0ce5f84
mov ebx, edx
sub ebx, ecx
not ebx
and ecx, edi
or edx, edi
mov ecx, edx
sub edi, ebx
shr ecx, 0xe
bswap edx
add ecx, ebx
mov ebx, ecx
jmp 0x46a4f6
mov esi, dword [esi]
or ecx, edi
shl ecx, 0x1d
xchg edx, edi
ror edi, 0x15
ror edx, 0xd
xor edi, 0xe0d06b30
jmp 0x46b3a4
mov dword [esp + 0x90], esi
rol edi, 0x1b
bswap edi
xor edi, edx
and edx, edi
xchg edi, edx
or ecx, edx
or edx, edi
sub ebx, ecx
jmp 0x46a476
xor eax, eax
inc ebx
sub ecx, edi
xor edx, edi
xchg edi, edx
jmp 0x46b778
jne 0x46b778
or edx, ebx
or edi, ecx
shr ecx, 0xd
inc ecx
or ecx, 0xe0df1646
or ebx, edx
and ebx, ecx
rol ebx, 8
or ebx, edi
xor ecx, 0xe0df9b7e
add ecx, edx
add ebx, edi
jmp 0x46b0c5
jne 0x46a4f6
and ebx, edi
shr ebx, 0x15
mov edx, 0xe0e5765e
shl ebx, 9
xchg edi, ebx
xchg edx, ebx
bswap ebx
and edx, ebx
inc ebx
xor ecx, ebx
jmp 0x46c613
add dword [esp + 0x94], 4
xchg edx, edi
or edx, ebx
jmp 0x46bb53
mov dword [esp + 0xa8], 0
not ecx
xor ecx, 0xe0edc764
or ebx, 0xe0ede24c
mov edx, ecx
sub ebx, edx
or ecx, 0xe0ee2fee
or ebx, edi
xor edx, 0xe0ee67b0
jmp 0x46d145
add esi, dword [esp]
or edi, ebx
mov ecx, edi
neg ecx
and ecx, ebx
inc edx
or edi, edx
jmp 0x46c7e8
mov dword [esp + 0x74], esi
bswap edx
and ecx, ebx
shr ecx, 6
bswap edx
and edx, edi
xor ecx, ebx
jmp 0x46b68d
movzx esi, word [esi]
dec ebx
and edi, 0xe0fa8ab4
add edi, edx
xchg edx, ecx
jmp 0x46aca7
add esi, dword [esp + 0xa8]
or edi, edx
sub edi, ebx
add edi, edx
mov edx, edi
or ebx, 0xe0fdb944
and ebx, ecx
add edi, ecx
xor edi, ecx
jmp 0x46bc91
mov dword [esp + 0xa8], eax
xor ebx, edi
ror edx, 0x15
sub edx, 0xe0fea8fe
xor edx, edi
or edi, edx
mov ebx, 0xe0fef514
xor edi, 0xe0ff102a
add edx, 0xe0ff2b64
jmp 0x46c98d
sub dword [esp + 0x94], 8
ror ebx, 0xd
mov ecx, edx
and ecx, edi
ror edi, 0x1d
inc ecx
neg ebx
xor ecx, edx
ror ebx, 0x15
jmp 0x46bafa
mov esi, dword [esi]
mov edx, 0xe108bc5e
xor ebx, 0xe108d71a
and edx, edi
add edx, ecx
rol ebx, 8
or edi, ecx
sub ebx, 0xe10958ba
xor ecx, 0xe109770c
xor edi, edx
or ebx, edx
xor ebx, 0xe109c57e
add ecx, ebx
jmp 0x46baa5
ret
mov esi, dword [esp + 0x74]
or edx, 0xe1371d38
and ebx, edi
and edx, ebx
add ecx, edi
shr edx, 0x11
inc ecx
or edx, ebx
shl ecx, 0x19
neg edx
xor edx, ebx
jmp 0x46d362
mov esi, dword [esi]
mov edx, edi
mov edx, ebx
sub ebx, ecx
bswap ebx
xchg ebx, edi
bswap edi
xor edi, edx
xchg ecx, edi
sub edi, edx
sub ecx, edx
jmp 0x46c6c9
mov dword [esp + 0x74], 0
xchg edi, ebx
dec ebx
xor ebx, edi
mov edi, edx
rol ebx, 3
add ebx, 0xe151f306
jmp 0x46d3a0
sub esp, 0xb0
xor ecx, edx
inc ebx
shl ecx, 0xe
and ebx, ecx
jmp 0x46c699
mov esi, dword [esi]
add ecx, edx
xor edi, ebx
add edx, ebx
add ecx, ebx
add ebx, edx
sub ecx, 0xe163fbc0
and ecx, edi
xor ebx, ecx
jmp 0x46b78a
mov dword [esp], 0
mov ecx, ebx
not edi
and ebx, edx
inc ebx
or ecx, edi
or edi, ebx
mov edi, 0xe16600e0
xor edi, edx
jmp 0x46b387