Function at 0x46adf2
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ebx, dword [ebx]
mov edx, ecx
or esi, edi
neg edx
xchg edi, edx
or edx, ecx
mov edx, esi
xchg edi, edx
xor esi, edi
jmp 0x46dc60
movzx ebx, word [ebx]
mov esi, ecx
shl edx, 7
sub ecx, esi
bswap edx
xor edi, ecx
add edi, esi
bswap esi
or edi, 0xd1b38851
sub edi, 0xd1b3bec0
dec esi
and edi, edx
xor edi, 0xd1b46069
jmp 0x46cb9f
mov ebx, dword [ebx]
mov edx, esi
xor edx, edi
xor edx, esi
mov esi, 0xd1b54063
dec esi
jmp 0x46ad97
mov ebx, dword [esp + 8]
inc ecx
shl esi, 0x11
bswap ecx
inc ecx
or edi, edx
xchg esi, edx
xor edi, edx
or edx, edi
jmp 0x46da2e
cmp byte [ebx], 0
jmp 0x46acc5
jne 0x46dd3f
xchg esi, edx
or edx, 0xd1e5a2e1
inc edi
jmp 0x46c2c7
mov ebx, dword [ebx]
inc edi
rol ecx, 7
and ecx, edx
or esi, 0xd1f1c27f
mov edi, edx
add edi, edx
or edx, esi
jmp 0x46ae85
mov dword [esp + 0x10], ebx
add ecx, edx
or edi, ecx
xchg edi, ecx
dec esi
add esi, ecx
xchg esi, ecx
or edi, ecx
add ecx, esi
mov edx, ecx
mov ecx, edx
neg edx
inc edi
jmp 0x46c306
sub esp, 0x9c
and edx, esi
xor edx, ecx
sub esi, edi
shl esi, 0x1f
jmp 0x46c5ce
mov dword [esp + 8], ebx
rol edx, 0xd
mov ecx, edi
not esi
mov edi, 0xd1f85856
xor edx, 0xd1f88f5f
xchg ecx, edx
shr edx, 0xc
or edx, 0xd1f93519
jmp 0x46aa7c
add ebx, 0x18
add edi, esi
bswap edx
or edi, ecx
xchg edx, esi
jmp 0x46d454
mov ebx, dword [esp + 0x10]
xor edx, ecx
xor edx, esi
add edx, edi
inc edi
shr edi, 0x18
xchg edx, edi
sub edx, ecx
jmp 0x46cb3d
add ebx, dword [esp + 8]
or edi, edx
mov esi, ecx
add edx, edi
not ecx
or esi, 0xd214775f
sub esi, ecx
inc edx
xor edi, edx
rol edx, 5
mov edx, esi
shl edx, 1
xor ecx, edx
shl edi, 0xe
shr edx, 9
jmp 0x46cede
mov dword [esp + 8], 0
xchg ecx, esi
sub edi, edx
add edi, edx
xor edi, edx
ror ecx, 0x1f
xor esi, 0xd2184064
xor ecx, 0xd2187687
xor ecx, 0xd218af04
neg esi
xchg edi, edx
jmp 0x46b8a0
mov ebx, dword [ebx]
inc edx
xor esi, ecx
and edi, esi
xchg esi, edi
shr edi, 7
sub edi, 0xd232be83
rol edx, 0x14
shr esi, 8
bswap esi
jmp 0x46afd3
mov ebx, dword [ebx]
and ecx, esi
rol edx, 0x1e
mov edx, ecx
mov ecx, edx
and edx, ecx
jmp 0x46dc39
mov dword [esp + 0x18], ebx
bswap esi
xchg ecx, edx
shl edi, 0xe
add ecx, esi
xor edx, esi
add edx, 0xd239b324
jmp 0x46b517
rol eax, 8
sub edx, 0xd2532efc
dec edx
add esi, ecx
add edx, 0xd253cd42
xchg edx, esi
xchg edx, esi
add edx, edi
bswap ecx
xor edx, edi
or edx, 0xd2550fe3
and edx, esi
jmp 0x46ccbf
mov ebx, dword [esp + 0x20]
neg ecx
sub edx, esi
rol esi, 8
or esi, ecx
shl edi, 6
or ecx, edi
jmp 0x46d018
mov dword [esp + 0x18], 0
sub edx, ecx
sub esi, edx
bswap esi
mov edi, esi
xor ecx, 0xd2634803
add esi, edi
xor ecx, esi
ror ecx, 1
shl esi, 2
sub edx, edi
mov esi, edx
mov edi, 0xd264bdf9
neg esi
jmp 0x46b002
mov dword [esp + 0x20], eax
neg ecx
bswap edx
or esi, ecx
ror esi, 1
sub ecx, 0xd2683374
sub ecx, esi
rol edx, 0xc
and edi, 0xd268d821
mov edx, esi
ror ecx, 0xa
or edx, 0xd26974f4
inc ecx
xor edx, ecx
jmp 0x46cd23
mov ebx, dword [esp + 8]
xor esi, edx
shr edi, 0xc
or esi, edi
and esi, edi
or edx, esi
xchg edi, esi
mov esi, ecx
mov edi, 0xd26b9093
mov esi, ecx
jmp 0x46bb40
mov eax, 2
sub edi, 0xd2705113
or esi, edi
not edi
mov edi, esi
inc edi
sub esi, edi
sub edx, ecx
xor esi, edi
jmp 0x46b397
add dword [esp + 0x10], 0x78
nop
and edi, edx
bswap edx
xchg ecx, edi
sub ecx, 0xd2989796
jmp 0x46dc90
mov eax, 4
add ecx, edx
xchg esi, ecx
or esi, edi
and ecx, edi
mov edi, edx
xor esi, edi
add ecx, edi
or ecx, edi
sub esi, edi
sub edx, esi
or edi, 0xd29bf3ac
jmp 0x46aa07
mov dword [esp + 0x10], 0
and ecx, 0xd2b09709
xor ecx, edx
xchg edi, ecx
xchg edx, esi
shr edx, 3
nop
mov esi, ecx
rol edx, 0x18
rol edx, 0x10
or edi, 0xd2b2b0c8
sub ecx, edx
xchg ecx, edi
shr esi, 0xe
xchg esi, ecx
mov esi, edi
jmp 0x46be91
add ebx, dword [esp + 0x10]
and esi, ecx
or ecx, esi
xchg edi, esi
jmp 0x46a9d4
add ebx, dword [esp + 0x20]
xor esi, edi
sub edi, esi
or edi, esi
inc esi
sub esi, ecx
mov edi, edx
xchg edx, esi
xor ecx, edx
add esi, 0xd2b92673
dec edi
jmp 0x46b763
mov ebx, dword fs:[ebx]
or ecx, edx
or edi, ecx
sub esi, edi
or edi, ecx
xor esi, edi
shl edi, 8
mov esi, edi
and esi, edx
sub edx, edi
and edi, edx
add edx, ecx
and ecx, edx
and edx, ecx
and edx, esi
sub edi, ecx
jmp 0x46d17d
add ebx, dword [esp + 8]
ror edi, 6
xchg ecx, edx
add edi, ecx
inc ecx
xchg esi, ecx
jmp 0x46caf5
mov ebx, dword [esp + 0x10]
sub edx, esi
inc edx
sub ecx, esi
and edi, esi
xchg ecx, esi
neg edi
xchg edi, esi
rol edx, 0x10
sub edx, 0xd2d0efd4
not edi
mov ecx, esi
add esi, edi
jmp 0x46b17a
add dword [esp + 0x10], ebx
shl edx, 0x11
and esi, ecx
inc esi
neg edi
xchg esi, ecx
sub edx, ecx
shl ecx, 0x11
or edi, esi
and edx, esi
sub ecx, 0xd2de4fa4
bswap esi
jmp 0x46dc28
mov dword [esp + 0x18], ebx
sub esi, ecx
or ecx, edx
sub edi, 0xd2df2a94
sub esi, 0xd2df61ee
neg edx
or ecx, 0xd2dfcbc1
not esi
and edx, 0xd2e03c36
sub ecx, edx
jmp 0x46dd1a
mov ebx, dword [esp + 0x10]
bswap esi
mov ecx, esi
add ecx, 0xd2e9bc28
or ecx, esi
or esi, edi
rol edx, 0xc
rol esi, 0x16
sub ecx, edi
jmp 0x46c013
mov ebx, dword [esp + 0x18]
or edi, 0xd2ebf62a
add edx, edi
mov esi, edx
and ecx, 0xd2ec8e20
xor ecx, esi
dec ecx
add ecx, 0xd2ed3742
sub edi, esi
mov ecx, 0xd2ed9f5e
shr edx, 0xf
jmp 0x46bef4
mov dword [esp + 0x38], ebx
mov edi, 0xd30cfa8e
rol ecx, 0x1a
add edx, 0xd30d6590
xor ecx, edi
or edi, edx
sub esi, edx
sub edi, esi
and ecx, edi
neg ecx
sub edi, ecx
or edi, edx
jmp 0x46dca3
mov ebx, dword [ebx]
xor ecx, 0xd3129163
xchg ecx, edx
and edx, 0xd312f6a2
xor esi, ecx
xchg edx, ecx
add ecx, esi
xor esi, edi
xor edx, edi
or edi, edx
not esi
jmp 0x46ba54
mov ebx, dword [ebx]
sub edx, esi
neg esi
mov esi, 0xd32461f3
xchg edx, ecx
sub edi, 0xd324ce63
xchg ecx, edx
xor ecx, 0xd3253c9f
or ecx, edi
jmp 0x46c209
add ebx, dword [esp + 8]
bswap edi
mov ecx, edx
mov edi, 0xd32fae77
bswap edx
and ecx, 0xd3301802
and edi, edx
and esi, ecx
jmp 0x46add0
xor eax, eax
xchg esi, edx
dec ecx
and esi, edx
and edi, ecx
shl ecx, 0x11
mov edi, 0xd331c02a
or edi, edx
sub edi, edx
not edi
mov edx, ecx
sub edx, edi
inc esi
xchg ecx, edi
not esi
jmp 0x46dd3f
ret
add ebx, dword [esp + 8]
add ecx, 0xd341c493
shr esi, 9
or edx, esi
nop
add esi, edi
or esi, 0xd342d04d
neg edx
xchg esi, edx
and edi, esi
mov edx, 0xd343a130
and edx, 0xd343d44a
jmp 0x46bb67
mov ebx, dword [ebx]
mov esi, edi
mov ecx, edi
ror edi, 0x11
shr edx, 1
or edi, esi
xchg edx, ecx
or edx, edi
sub esi, edx
jmp 0x46c0d5
pop ebx
not ecx
ror esi, 5
sub ecx, esi
or ecx, edx
shr esi, 0xe
sub edi, esi
jmp 0x46cf4e
mov ebx, dword [esp + 0x18]
mov edx, ecx
ror edi, 0xf
xchg ecx, edx
and edi, edx
jmp 0x46b90c
mov ebx, dword [esp + 0x10]
inc esi
and edi, esi
mov esi, edi
xor edi, ecx
or ecx, edx
xchg edx, edi
xchg edx, esi
or esi, ecx
xor ecx, edi
jmp 0x46c285
mov dword [esp + 0x20], 0
or edx, ecx
and edx, esi
xchg ecx, esi
neg esi
and edx, 0xd3866269
and edx, ecx
neg edi
or edi, 0xd3871fa8
add esi, ecx
ror edx, 0x14
shl esi, 0xd
jmp 0x46b422
add dword [esp + 0x18], 4
xchg esi, edx
xor edx, esi
mov edx, ecx
inc ecx
add ecx, esi
sub esi, edx
shr edx, 0x11
sub ecx, 0xd3a8af68
mov edi, 0xd3a8e515
add edi, esi
jmp 0x46bc5c
jne 0x46dd1a
mov esi, ecx
rol edx, 0x13
mov esi, edi
add esi, 0xd3c2483a
xor esi, edi
add ecx, esi
sub ecx, esi
jmp 0x46ce36
push ebx
rol edi, 0x17
or esi, 0xd3d70242
sub ecx, 0xd3d73c6d
add edx, 0xd3d777f0
and ecx, edi
xor ecx, 0xd3d7e954
or edi, ecx
sub edx, edi
and edi, edx
jmp 0x46c0f6
mov ebx, dword [ebx]
xor esi, ecx
or esi, edx
or esi, edx
ror ecx, 0x14
mov edi, esi
add edx, esi
sub esi, edx
rol ecx, 0x19
sub edx, ecx
add ecx, 0xd3dca0af
jmp 0x46d028
mul ebx
xor ecx, esi
not edx
sub ecx, edx
xor ecx, edx
not edi
sub ecx, edx
not edx
xor edi, esi
and esi, edx
add edx, esi
mov edi, esi
mov edx, 0xd3e314e0
jmp 0x46d15e
mov ebx, dword [ebx]
xor edi, ecx
add esi, 0xd3e61e55
xor ecx, esi
bswap ecx
or edi, edx
shl esi, 0x14
add esi, edi
add edi, esi
jmp 0x46d33e
inc ebx
sub esi, edx
xchg esi, ecx
xchg ecx, esi
shl edi, 0x1d
rol edi, 9
mov esi, edi
dec esi
mov edx, 0xd3f37de7
sub ecx, esi
jmp 0x46ab26
sub dword [esp + 0x10], 8
shl esi, 0x19
xchg edi, edx
add edi, ecx
neg edx
mov esi, edx
and edi, 0xd3f979e6
jmp 0x46c379
add dword [esp + 0x10], 4
mov edx, 0xd407e57d
shl ecx, 0xb
xchg ecx, esi
and edi, 0xd4088330
and edi, esi
xor esi, edx
xor esi, ecx
and edi, ecx
or ecx, 0xd4098c7e
dec edx
or esi, edi
jmp 0x46ae95
add esp, 0x9c
add esi, ecx
and edi, 0xd413c561
neg esi
jmp 0x46c150
cmp eax, dword [esp + 0x38]
jmp 0x46c9a0
mul ebx
add edx, esi
not edx
ror edi, 0x1e
or ecx, edx
jmp 0x46b47c
add ebx, dword [esp + 8]
xor esi, 0xd4277286
or esi, 0xd4284895
add edx, ecx
sub esi, edx
sub edi, 0xd428f33e
sub esi, ecx
jmp 0x46b1e1
add dword [esp + 0x10], eax
sub edx, edi
add edx, edi
add esi, ecx
and esi, ecx
rol ecx, 7
dec esi
and edi, edx
xchg edx, edi
add edx, ecx
inc edx
jmp 0x46ba6a
add ebx, 0xc
and edi, esi
xchg edi, esi
inc edx
and ecx, esi
add edi, edx
xchg edx, esi
xor esi, 0xd43dff0f
xor esi, ecx
jmp 0x46cbf0
add ebx, 0xc
and edi, 0xd4580327
inc ecx
not edi
xor esi, edx
sub ecx, edi
jmp 0x46d951
mov ebx, dword [ebx]
mov edi, 0xd466c3a7
mov esi, ecx
sub esi, 0xd46728f7
and edi, edx
or edi, ecx
add ecx, edi
add edi, ecx
jmp 0x46ae06
mov ebx, dword [ebx]
and edi, ecx
sub edi, esi
add edx, esi
bswap edi
nop
dec ecx
xchg ecx, esi
shl edx, 0x15
xchg esi, edi
and edi, ecx
jmp 0x46aa33
add ebx, 0x3c
ror edx, 3
and ecx, 0xd4ce6dd2
add edx, esi
mov edi, edx
mov edx, 0xd4cf05cf
xor esi, edi
shl esi, 0x15
mov edi, esi
xor edx, ecx
add edi, 0xd4d00ef8
jmp 0x46b1bb
add dword [esp + 0x10], 0x20
xor edx, esi
add edi, edx
jmp 0x46bc25
mov dword [esp + 0x10], ebx
not ecx
xor edx, edi
and edx, ecx
sub esi, edx
and edi, edx
or edi, esi
ror esi, 5
mov edx, esi
add esi, 0xd66ec0ee
xchg edx, esi
and ecx, esi
jmp 0x46b749
mov dword [esp + 0x10], ebx
mov edx, 0xd66f7e39
or esi, 0xd66fbbac
and edi, esi
xchg edx, edi
xor ecx, esi
mov edi, 0xd670afa8
and ecx, 0xd670e8be
add esi, ecx
sub esi, ecx
bswap esi
or esi, ecx
jmp 0x46b4b0
mov ebx, dword [esp + 8]
dec edx
add edi, 0xd6726220
jmp 0x46b8fa
mov ebx, 0x30
xor edi, edx
rol edi, 0x17
shr edx, 8
and edi, esi
add esi, edi
jmp 0x46b92e
inc dword [esp + 0x20]
xor esi, edi
and esi, edx
and edx, ecx
xor esi, ecx
add edx, ecx
xor edx, ecx
jmp 0x46c7ef
xor al, byte [ebx]
and edi, edx
xchg esi, ecx
neg edi
xor edx, esi
add edi, edx
shr edx, 4
neg ecx
or edi, 0xd68055a2
or esi, ecx
jmp 0x46b310