Function at 0x46eb01
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0x4c], eax
xor ecx, esi
mov edi, ecx
xor edi, 0x8e95840b
mov esi, 0x8e95a119
xor edi, edx
neg edx
jmp 0x46e77d
add esp, 0x134
or esi, 0x8e990097
not ecx
add ecx, edi
sub esi, 0x8e99517f
add esi, edx
bswap edi
shr edx, 0x1f
xchg edx, edi
jmp 0x46c55e
mov ebx, dword [ebx]
and ecx, edx
and edx, 0x8e9f4739
or edx, ecx
mov ecx, 0x8e9f7edd
or edi, 0x8e9f9bc5
or edx, esi
jmp 0x46c706
mov ebx, dword [esp + 0x4c]
add edx, ecx
xor esi, 0x8ea54561
or ecx, esi
sub edi, ecx
xor edx, 0x8ea592fb
shr ecx, 9
xchg edi, edx
shl ecx, 0xb
and ecx, esi
sub edi, esi
sub esi, edx
sub ecx, edx
mov edx, ecx
sub edx, edi
jmp 0x46afed
mov dword [esp + 0x4c], ebx
and ecx, 0x8ea9501d
add ecx, 0x8ea96d5f
or ecx, edi
or ecx, 0x8ea9a129
mov esi, ecx
mov edx, esi
jmp 0x46c989
mov dword [esp + 0x3c], ebx
shr ecx, 0xe
add esi, edi
ror ecx, 0x1f
add esi, ecx
shl edx, 2
xchg ecx, edi
add edi, edx
sub ecx, edx
sub edx, edi
dec ecx
and ecx, edi
sub edx, esi
shl esi, 0xe
xchg edx, esi
shl edi, 6
and edx, esi
jmp 0x46db07
mov dword [esp + 0x44], 0
nop
and edx, esi
add ecx, edx
or ecx, edx
sub edi, 0x8eb1f91b
mov ecx, esi
sub edx, ecx
mov edi, ecx
jmp 0x46c132
add ebx, dword [esp + 0x80]
or esi, ecx
xor ecx, edi
add edi, 0x8eb29b67
xchg edx, esi
shl edi, 2
and edx, esi
sub ecx, 0x8eb304dd
xor edi, 0x8eb32191
xchg edx, ecx
neg edi
jmp 0x46af06
mov ebx, dword [esp + 0x4c]
shl edx, 0xe
rol edx, 7
and edi, edx
xor esi, 0x8eb69955
shr edx, 9
mov ecx, edi
xor edi, 0x8eb6e6ef
dec edi
or esi, 0x8eb723ff
sub edi, 0x8eb73cb3
or edi, esi
and ecx, 0x8eb77067
xor edi, esi
sub ecx, edx
jmp 0x46d731
add ebx, 0xc
rol edi, 2
xor edi, 0x8ec54403
add edi, 0x8ec5645f
and edi, esi
jmp 0x46bacd
mov ebx, dword [ebx]
or ecx, 0x8ecbd67b
shl edi, 6
and edx, esi
mov ecx, edi
mov ecx, edx
bswap edi
sub esi, edi
xor esi, edi
nop
xchg esi, edi
rol edx, 3
xor edx, 0x8ecd009f
jmp 0x46b26b
add dword [esp + 0x4c], 0x20
add esi, 0x8ed32251
sub ecx, edi
shl esi, 6
xchg edx, edi
xor edi, edx
rol esi, 0xb
dec ecx
xor edx, esi
jmp 0x46b806
add ebx, dword [esp + 0x80]
dec edx
xor edx, edi
or esi, ecx
and edi, esi
inc esi
or edi, edx
and ecx, edx
mov esi, ecx
jmp 0x46d969
mov ebx, dword [esp + 0x4c]
sub esi, edi
xor esi, edi
sub ecx, 0x8ee01f9f
xor edi, 0x8ee03879
and esi, edi
mov esi, ecx
sub edi, esi
inc esi
add esi, edx
sub ecx, 0x8ee0dbf5
add edi, 0x8ee0f483
add ecx, esi
add edi, esi
xchg ecx, esi
xchg edi, ecx
and ecx, edx
jmp 0x46ca31
add dword [esp + 0x4c], 0x78
or edi, edx
or edx, ecx
and esi, edi
add edi, esi
and edi, 0x8ee1fffd
and esi, edx
and edx, edi
shl esi, 0xf
xchg edi, edx
shl edx, 0x1e
not edi
or ecx, edx
rol edi, 0x1e
mov ecx, esi
nop
or edi, ecx
jmp 0x46d453
add ebx, dword [esp + 0x80]
dec esi
and esi, edx
mov edx, edi
mov edx, ecx
shl ecx, 5
xchg edi, esi
add edi, ecx
neg edx
inc ecx
mov edx, edi
jmp 0x46d0bf
mov ebx, dword [ebx]
xchg edx, esi
mov edx, esi
add edi, esi
or edx, esi
bswap ecx
xor ecx, edx
and edi, edx
sub esi, ecx
jmp 0x46bf9e
mov ebx, dword [ebx]
inc esi
add esi, 0x8ef88739
xchg ecx, edi
add edx, ecx
neg edi
mov edx, esi
xchg esi, edx
xchg ecx, esi
mov edx, ecx
add edi, 0x8ef95a0f
jmp 0x46bd1f
mov ebx, dword [ebx]
or edi, ecx
mov ecx, edx
add ecx, 0x8f038aa3
mov ecx, 0x8f03a78b
add ecx, esi
neg edx
jmp 0x46e14b
mov ebx, dword [esp + 0x3c]
mov ecx, edi
and edi, 0x8f089b47
rol edx, 0x11
sub edx, edi
mov edi, esi
inc edi
xchg esi, edi
and ecx, edx
jmp 0x46db91
add ebx, 0xc
xor esi, 0x8f0ad6f9
add edi, esi
add ecx, edi
and esi, edx
and edi, 0x8f0b3cb3
sub esi, edx
inc edi
rol esi, 0x19
xor esi, 0x8f0bae3f
xor edi, 0x8f0bca99
jmp 0x46b9a0
mul ebx
neg edi
and esi, 0x8f115dad
shr esi, 5
sub ecx, edi
and ecx, edx
xchg edx, esi
jmp 0x46ae6f
rol eax, 8
inc edi
rol esi, 0x1a
sub edi, esi
or esi, 0x8f1244c9
xor esi, edx
not esi
jmp 0x46ddd6
mov ebx, dword [ebx]
add edx, esi
ror edi, 0xb
mov edx, edi
or edx, edi
sub edx, ecx
xor edx, ecx
or ecx, 0x8f1f82af
or edx, esi
add ecx, edi
xor edx, 0x8f1fd047
or edx, ecx
ror esi, 9
and esi, 0x8f202023
sub esi, ecx
jmp 0x46bc24
jne 0x46da8b
add edi, 0x8f2aefe9
not esi
neg edx
xchg esi, edx
xchg ecx, edi
xor ecx, edx
add edx, 0x8f2b9745
or ecx, 0x8f2bb02f
xor ecx, 0x8f2bccbf
add ecx, edx
jmp 0x46d0ef
mov dword [esp + 0x3c], 0
shr esi, 0x1b
sub ecx, edi
add edx, 0x8f2c3f11
mov edx, esi
mov ecx, edi
mov ecx, edx
xor ecx, edi
or ecx, edi
mov esi, edi
mov esi, ecx
sub edi, esi
xor edi, esi
add edi, ecx
and edx, 0x8f2d5b47
or edi, edx
sub edi, edx
jmp 0x46cf36
mov ebx, dword [ebx]
sub ecx, edi
mov esi, edi
mov esi, ecx
mov edx, esi
mov ecx, edi
mov ecx, edx
and ecx, edx
xor ecx, edx
or edx, edi
not ecx
not edi
and edi, esi
add edx, edi
rol edx, 0xb
xor edx, 0x8f35d8bd
mov edi, 0x8f35f571
jmp 0x46c462
add ebx, 0x3c
mov edx, edi
shr ecx, 0x12
or ecx, 0x8f449f33
sub edi, 0x8f44bbf7
shl edi, 5
inc esi
sub ecx, 0x8f450c4f
xor edi, ecx
jmp 0x46cb3f
mov dword [esp + 0x80], ebx
and esi, 0x8f4750c7
mov edi, ecx
rol ecx, 0x18
bswap edi
mov ecx, edx
xor edx, 0x8f47d47d
mov edi, 0x8f47f131
shl edi, 0x15
and edi, 0x8f482d43
xor edx, esi
dec edi
ror esi, 0x10
jmp 0x46c74c
ret
cmp byte [ebx], 0
jmp 0x46e45b
add ebx, dword [esp + 0x80]
sub edx, ecx
neg edx
rol esi, 2
dec ecx
and edx, edi
xor edx, edi
bswap edx
not ecx
or edi, esi
sub edi, ecx
inc ecx
xor ecx, edx
jmp 0x46b1b1
mov ebx, dword [esp + 0x80]
mov esi, 0x8f5e3cf7
xor edx, edi
and esi, 0x8f5e7345
or edi, esi
add esi, 0x8f5eaa03
add ecx, edx
jmp 0x46c409
pop ebx
sub esi, edx
sub edi, 0x8f68877f
add esi, edi
and edx, ecx
mov edx, esi
or edx, esi
sub ecx, edi
neg ecx
sub edx, edi
mov edi, esi
inc edi
or edi, esi
jmp 0x46e681
mov ebx, dword [esp + 0x80]
xchg ecx, edx
add edx, esi
or esi, ecx
rol edx, 0x1a
sub edx, 0x8f70f0c1
shl ecx, 0x16
jmp 0x46d6cf
push ebx
bswap esi
ror edi, 0x1c
or esi, edx
mov ecx, edx
add edx, ecx
and esi, edi
sub esi, edi
ror edi, 6
xchg esi, edx
mov edi, edx
xor ecx, edi
dec edx
and esi, ecx
mov edx, esi
jmp 0x46dc31
mov ebx, dword [ebx]
and ecx, edi
mov esi, edi
inc ecx
mov esi, ecx
or esi, ecx
ror edi, 0xe
or esi, edx
xor edi, 0x8f77505b
xchg edi, ecx
nop
jmp 0x46b7ec
mov ebx, dword [ebx]
xchg edi, edx
add esi, ecx
and edx, esi
and ecx, edi
xor edi, 0x8f7fa265
add edx, ecx
inc edi
rol esi, 0x1f
dec ecx
and ecx, edi
or esi, 0x8f8048eb
xor edx, 0x8f80657b
or edx, ecx
xor esi, 0x8f809857
jmp 0x46e4c2
mul ebx
ror edx, 0xc
or ecx, edi
add edi, 0x8f94ed63
not esi
xor edi, edx
or edi, esi
sub edx, esi
neg esi
add edi, 0x8f95939f
not esi
inc edx
or edx, 0x8f95e477
and edi, 0x8f96012b
rol edi, 0x17
jmp 0x46e3ac
sub dword [esp + 0x4c], 8
mov esi, 0x8f9de41f
and edx, 0x8f9e00af
or ecx, esi
xchg edx, edi
xchg ecx, esi
add ecx, edx
rol edi, 8
xchg edx, ecx
shl ecx, 0xd
xor esi, 0x8f9edb33
add edi, esi
and ecx, edx
and esi, edx
bswap edx
jmp 0x46b2fe
mov dword [esp + 0x80], 0
inc edi
dec ecx
xor edx, esi
bswap ecx
dec edi
and esi, edi
inc edi
mov edi, ecx
mov esi, edx
xchg esi, edx
mov edi, edx
rol edx, 0xe
add edx, 0x8fa0a8b5
mov edx, 0x8fa0c5f7
jmp 0x46d644
mov dword [esp + 0x4c], ebx
neg ecx
or ecx, esi
mov ecx, edi
mov ecx, edx
shr esi, 0x17
add edi, edx
shr edi, 0x1f
and esi, edi
xor ecx, 0x8fada323
shl edi, 2
rol edi, 0x19
xor edi, 0x8fadf453
jmp 0x46d21a
add dword [esp + 0x4c], 4
add edx, ecx
neg edi
add edi, esi
bswap ecx
dec edi
xor edx, 0x8fae9e27
and edi, edx
or esi, edi
xchg edi, esi
ror edi, 0xe
mov edx, edi
mov edx, ecx
jmp 0x46b0be
mov ebx, dword [esp + 0x3c]
xor ecx, 0x8fb76de7
sub edi, ecx
mov edi, edx
xchg edx, esi
jmp 0x46d41e
add ebx, dword [esp + 0x44]
xchg esi, edx
sub ecx, 0x8fc70619
shr edi, 0x1c
and esi, edi
add edi, esi
xchg ecx, esi
sub esi, edx
and edx, edi
add edx, ecx
xor esi, 0x8fc7da9f
xchg ecx, edx
xor edi, 0x8fc810ef
xchg esi, edx
add edx, edi
jmp 0x46e32b
mov ebx, dword [esp + 0x80]
bswap edx
not ecx
xor esi, edi
or edi, ecx
xor edx, 0x8fc8d915
shr ecx, 6
jmp 0x46e4a2
mov ebx, dword fs:[ebx]
shr edi, 0xd
xor esi, 0x8fce5963
add esi, 0x8fce79e3
mov edx, esi
jmp 0x46b4e1
add ebx, dword [esp + 0x80]
sub ecx, edx
shr ecx, 0x1b
and ecx, esi
or esi, ecx
sub edx, esi
sub ecx, 0x8fcf3b7f
jmp 0x46c9a7
mov dword [esp + 0x4c], 0
or esi, ecx
xor ecx, edi
add edi, 0x8fd7235f
not esi
and esi, edi
mov edi, 0x8fd773b9
and ecx, 0x8fd78ca1
inc esi
shl esi, 0x1d
xchg edx, edi
and esi, edi
sub edx, esi
rol ecx, 0x19
inc esi
jmp 0x46dd89
add dword [esp + 0x4c], ebx
add esi, ecx
or esi, edi
mov edi, esi
or edi, esi
jmp 0x46b687
mov ebx, dword [ebx]
shl ecx, 0x11
rol ecx, 9
xchg esi, edi
and ecx, edx
xor edx, 0x8fde3c7f
ror ecx, 0xf
jmp 0x46b981
add dword [esp + 0x3c], 4
shr esi, 0x16
and esi, edx
and esi, edi
add esi, edi
add esi, ecx
add edx, esi
and ecx, edi
or ecx, edx
shl ecx, 9
shr edi, 0x1a
mov ecx, 0x8fe438d3
rol ecx, 0xb
mov edx, 0x8fe46f23
or edi, ecx
jmp 0x46bcdc
mov dword [esp + 0x3c], ebx
shr edx, 0xd
dec ecx
xchg esi, edx
and edx, 0x8ff21e5f
mov ecx, esi
xchg ecx, edx
mov edi, ecx
mov esi, edx
xchg ecx, edi
xor ecx, edx
or edi, edx
and esi, ecx
xchg esi, ecx
add ecx, 0x8ff3363d
jmp 0x46da8b
inc dword [esp + 0x44]
mov ecx, edx
bswap edi
ror ecx, 6
add esi, ecx
rol esi, 0x18
or esi, edx
or ecx, edx
xchg ecx, edi
or esi, 0x8ffb3cff
and ecx, esi
xor esi, 0x8ffb7049
xor esi, ecx
not edx
inc ecx
mov esi, ecx
and esi, 0x8ffbf737
jmp 0x46d7bd
mov eax, 2
ror edx, 6
xchg esi, edi
and ecx, edx
xchg edx, esi
xchg edi, esi
add edi, ecx
jmp 0x46e222
mov ebx, dword [ebx]
xchg esi, edx
add edi, 0x900235d1
xor ecx, edx
add esi, ecx
and edi, esi
mov ecx, edx
shl edx, 9
or esi, edx
and edx, ecx
shl ecx, 3
xchg edi, esi
add edi, ecx
jmp 0x46d52c
xor eax, eax
xchg edx, edi
add edi, esi
xor ecx, 0x9007ca1b
add ecx, edx
xchg edi, ecx
add edx, 0x90081833
nop
xor edi, esi
jmp 0x46df43
mov dword [esp + 0xc], ebx
xchg edi, esi
add edi, ecx
xchg esi, edi
xor ecx, edi
mov esi, 0x90139953
add edi, 0x9013b261
inc edx
or edx, 0x9013eb5b
xor esi, ecx
not edx
sub edx, edi
rol edx, 9
jmp 0x46deb5
inc ebx
add ecx, edx
and edx, edi
or edi, edx
or edx, ecx
not edi
xor edi, esi
neg esi
dec edx
jmp 0x46c571
mov ebx, 0x30
xor edx, 0x901bff8d
sub edi, edx
and esi, edi
and edi, ecx
add ecx, edi
xchg esi, edx
add edi, 0x901c99c3
add edi, edx
inc edx
or edx, 0x901cea1d
dec edi
dec edi
xor esi, edx
xchg edx, esi
jmp 0x46d513
xor al, byte [ebx]
bswap edi
or esi, edi
nop
xchg esi, edi
and edi, ecx
xor edi, ecx
sub ecx, edi
add edx, 0x9021333f
not ecx
ror edi, 0xf
xchg esi, edx
and ecx, edi
xchg ecx, edi
sub edi, edx
jmp 0x46bdfe
add ebx, 0x18
add edi, ecx
mov edx, 0x90317c5d
ror edx, 7
dec edi
xor esi, edx
or esi, edi
add edx, 0x903208ff
mov edx, 0x90322231
jmp 0x46c239
movzx ebx, word [ebx]
sub ecx, esi
or edx, 0x90369c5b
mov ecx, edi
xchg edi, ecx
or ecx, edx
and edx, ecx
xchg edx, edi
add edi, esi
add ecx, edi
add ecx, edx
jmp 0x46bde6
mov ebx, dword [esp + 0x44]
not ecx
add edx, esi
add ecx, edi
xor esi, edx
not esi
sub edx, ecx
and esi, 0x90391aef
mov edi, ecx
or edi, ecx
sub esi, edx
add ecx, edx
ror ecx, 8
and ecx, 0x9039b79b
mov esi, ecx
jmp 0x46cde4
mov eax, 4
dec edx
mov esi, edi
or esi, ecx
and esi, edi
or edi, ecx
add esi, 0x9041b831
add edx, ecx
add ecx, esi
jmp 0x46e1ea
mov dword [esp + 0x44], eax
and ecx, 0x9045553d
mov edx, esi
add edi, ecx
xchg edi, ecx
or esi, 0x9045bf65
bswap edx
not ecx
mov edi, esi
mov edi, ecx
not edx
jmp 0x46cf00
jne 0x46df43
bswap edx
add edi, esi
and ecx, 0x904a8719
and ecx, edi
or esi, edx
inc ecx
sub edx, edi
inc edi
xor ecx, esi
sub esi, ecx
or edi, esi
xor esi, edx
jmp 0x46c893
add ebx, dword [esp + 0x4c]
shr esi, 9
sub ecx, edx
or edx, edi
xor ecx, esi
and edi, esi
rol ecx, 6
rol edi, 0x18
rol edx, 0x10
jmp 0x46e552
mov dword [esp + 0x4c], ebx
add esi, edi
xchg esi, ecx
xchg ecx, edx
bswap esi
mov esi, edx
shr ecx, 6
or edx, edi
xor ecx, esi
add esi, ecx
and edi, ecx
or edx, 0x904e922f
and edx, 0x904eaf61
and edx, ecx
or ecx, 0x904ee3c7
jmp 0x46b841
mov ebx, dword [ebx]
neg esi
mov edx, ecx
shl ecx, 0x15
shr edi, 0xc
mov edi, 0x90523c77
and edx, esi
xchg ecx, edi
add ecx, edx
add edi, edx
add edi, esi
jmp 0x46b148
cmp eax, dword [esp + 0xc]
jmp 0x46c103
mov ebx, dword [esp + 0x4c]
xchg esi, edi
and ecx, edx
add ecx, 0x9063389f
and edx, edi
ror esi, 0x12
xor ecx, 0x90638c45
jmp 0x46b5bd
sub esp, 0x134
xchg ecx, edi
mov esi, 0x907f9ae9
xor edx, edi
add edi, esi
or edx, esi
bswap ecx
inc esi
inc esi
or edi, edx
or edi, 0x9080757d
bswap esi
not edx
inc ecx
mov edx, edi
jmp 0x46b248