Function at 0x46f1f7
Capabilities:
Encrypt data using chaskey

Disassembly:
sub esp, 0xb0
and edi, ebx
xor ebx, ecx
xor ecx, esi
or ebx, ecx
or ecx, 0x612f9dd6
sub edi, 0x61301522
or ecx, esi
and edi, ecx
and esi, ecx
or esi, edi
jmp 0x46f4ea
movzx edx, word [edx]
mov edi, esi
mov esi, edi
or esi, ecx
mov ebx, esi
add ebx, edi
xchg ebx, edi
xchg esi, ecx
or esi, ebx
xor edi, ecx
xor esi, edi
jmp 0x470a1d
jne 0x46fe71
and edi, ebx
ror esi, 0xc
neg esi
xchg esi, ebx
mov edi, 0x61562a88
neg ecx
jmp 0x471089
add dword [esp + 0x44], eax
xchg ebx, ecx
add ebx, ecx
sub ecx, esi
shr edi, 7
add esi, 0x615e1da0
xchg ecx, edi
and esi, 0x615e9d96
add esi, ecx
mov edi, ebx
bswap esi
sub esi, ebx
inc ecx
not esi
add ebx, 0x61606afc
jmp 0x470f4f
mov edx, dword [esp]
shr ebx, 0x11
xchg esi, edi
add esi, 0x616ff888
or ecx, esi
sub ecx, edi
not esi
and edi, ebx
add edi, 0x61725288
jmp 0x471b04
mov dword [esp + 0x90], 0
xchg edi, esi
or ebx, 0x6180fe54
mov esi, edi
neg esi
mov ebx, esi
and edi, 0x61822c12
xor edi, ebx
or esi, ecx
dec edi
sub esi, 0x618385c6
jmp 0x470100
add edx, 0xc
rol esi, 0x1c
mov ecx, 0x618a18a0
sub esi, 0x618a9cdc
xor ecx, esi
and edi, ecx
mov esi, 0x618c3896
sub ebx, esi
and esi, 0x618d36f6
jmp 0x4701aa
mov dword [esp + 0x44], edx
neg edi
mov ecx, ebx
xchg esi, ebx
xor ecx, esi
jmp 0x470361
cmp byte [edx], 0
jmp 0x46f687
mov edx, dword [edx]
rol ebx, 0xa
sub ecx, edi
sub edi, ebx
mov ebx, edi
shr edi, 0xd
rol ecx, 0x12
jmp 0x46fe4a
ret
jne 0x47054d
add ebx, ecx
dec ecx
xchg ecx, ebx
mov ecx, ebx
and ebx, esi
bswap ecx
bswap ebx
shl ecx, 1
add ebx, 0x61b9853a
shl esi, 0x1c
ror ecx, 0x15
and ebx, 0x61bad22c
or ecx, esi
xchg edi, ebx
jmp 0x46fb1d
sub dword [esp + 0x44], 8
rol ebx, 0x1d
add ebx, esi
add ebx, esi
mov ecx, 0x61bcdf02
add ebx, edi
not ecx
sub esi, ecx
not esi
xor ecx, 0x61be4e2a
mov ebx, edi
jmp 0x47141e
mov edx, dword [esp]
xor ebx, ecx
xor ebx, edi
jmp 0x46fc54
mov edx, dword [esp]
xor ecx, edi
not edi
inc ecx
mov edi, esi
and edi, ebx
sub edi, esi
or ebx, esi
or esi, ecx
and edi, esi
xchg ecx, esi
jmp 0x470ab9
add edx, dword [esp]
add esi, ecx
sub ecx, edi
or edi, ebx
xor ecx, esi
mov edi, 0x61e8b976
add ebx, esi
sub edi, ebx
inc ebx
and edi, ebx
and ecx, ebx
jmp 0x4707a4
add edx, 0xc
and ecx, 0x61ef207c
or edi, ebx
shr ecx, 1
sub edi, esi
jmp 0x4717b7
mov edx, dword [edx]
xor ebx, ecx
or esi, ebx
not ecx
dec ecx
sub edi, esi
xchg ecx, edi
jmp 0x471a19
mov edx, dword [edx]
or edi, 0x621e5072
and ebx, 0x621e905a
mov ebx, edi
rol ebx, 0x13
dec esi
or ebx, 0x621fed94
add ecx, ebx
add edi, ebx
and ebx, 0x6220aabe
and ebx, 0x6220eb32
or esi, ecx
shl ebx, 0x1a
jmp 0x46f5af
mov eax, 2
add ecx, 0x622c35d4
xchg ecx, ebx
shl esi, 0x13
shr ebx, 1
or ebx, ecx
not esi
jmp 0x470a3f
add edx, dword [esp]
inc ecx
add esi, edi
shr ecx, 0xe
sub edi, ebx
rol ebx, 6
and esi, ecx
sub esi, ecx
xor edi, 0x6231ef5c
mov ebx, edi
mov ecx, esi
jmp 0x46fdbd
pop edx
ror edi, 3
add edi, 0x62339e20
or edi, 0x6233de74
xor ecx, ebx
jmp 0x4705df
rol eax, 8
and esi, edi
add esi, edi
mov esi, 0x6245975c
sub ebx, esi
dec edi
mov esi, ecx
sub edi, ebx
xchg ebx, edi
jmp 0x470b64
add edx, dword [esp + 0x44]
or edi, ebx
sub edi, 0x6253ca1c
xor ebx, 0x62540b50
and ebx, 0x62545c20
sub ecx, edi
dec esi
or ecx, esi
xchg ebx, ecx
and ebx, esi
inc edi
jmp 0x47044a
add dword [esp + 0x44], 0x20
or ebx, ecx
and edi, esi
sub esi, ebx
inc edi
rol edi, 7
and ecx, 0x62597856
xchg esi, ebx
and ecx, ebx
jmp 0x46fd51
mov edx, dword [esp + 0xc]
dec esi
shl ebx, 0x1f
and ebx, esi
add ecx, 0x62677fee
xor ecx, esi
xor ebx, edi
jmp 0x470d22
mov edx, dword [esp + 0x44]
not esi
or ecx, esi
dec esi
sub ebx, 0x6270356e
shl esi, 0xc
xor esi, 0x62711ec8
sub ecx, 0x62718dca
or ebx, esi
ror ebx, 0xc
xchg ecx, esi
xor ebx, 0x62736d16
sub esi, 0x6273e202
xor ebx, 0x62745334
sub edi, ecx
jmp 0x4716f6
mov dword [esp + 0x44], edx
sub edi, ecx
sub edi, ebx
inc edi
add ecx, ebx
and edi, ebx
or edi, ecx
xor edi, esi
mov esi, ebx
xor ecx, esi
add ecx, 0x627fc946
jmp 0x46fd06
add edx, 0x18
xchg ebx, ecx
shr esi, 6
add edi, esi
mov edi, ebx
jmp 0x46fa25
inc dword [esp + 0x90]
and esi, ebx
bswap edi
sub ebx, ecx
xor ebx, ecx
nop
or ebx, ecx
or ecx, edi
and esi, edi
xchg edi, esi
sub ebx, esi
neg edi
inc edi
shr ecx, 0x18
or edi, esi
jmp 0x470118
add edx, dword [esp]
and edi, esi
xor edi, ecx
xchg ecx, esi
and ebx, edi
xor esi, 0x62def944
xor esi, edi
jmp 0x4708d9
mov dword [esp + 0xc], 0
xor edi, ecx
add ecx, edi
add edi, esi
xchg ebx, esi
jmp 0x47074a
add dword [esp + 0xc], 4
xor ebx, ecx
xchg esi, ebx
jmp 0x4717e4
mov edx, dword [edx]
sub edi, ebx
inc ecx
and edi, esi
mov ecx, edi
jmp 0x46fa37
mov edx, dword [edx]
rol esi, 0x11
neg edi
ror ecx, 6
and esi, 0x631a77aa
jmp 0x46f584
add edx, dword [esp]
or ebx, edi
dec ecx
xchg ebx, esi
xor ebx, edi
and ecx, edi
or esi, edi
mov ebx, ecx
bswap esi
inc esi
add ecx, 0x632b0838
jmp 0x470dab
add dword [esp + 0x44], 0x78
shl ecx, 0xf
shr ecx, 0xe
or edi, esi
mov ebx, ecx
jmp 0x46f7a8
mov edx, dword [edx]
sub ecx, esi
nop
and ebx, esi
sub esi, 0x635e3330
xor edi, ebx
bswap esi
add esi, edi
inc edi
neg edi
and ecx, 0x6360e222
jmp 0x47058b
xor al, byte [edx]
mov ecx, 0x637d5558
mov ebx, 0x637dc490
add edi, 0x637e3e72
sub ecx, 0x637ec986
jmp 0x46fbc8
mov dword [esp + 0x44], edx
xor ecx, edi
inc ecx
xor ebx, esi
and ecx, ebx
mov ebx, edi
xor ecx, 0x638684f2
xor ebx, edi
or esi, ebx
xor ebx, 0x6387e60c
ror edi, 0x11
xor ebx, ecx
rol edi, 1
or ecx, 0x6389eef0
add ecx, 0x638a82c4
jmp 0x46f7b8
cmp eax, dword [esp + 0x8c]
jmp 0x46f317
mov dword [esp], 0
and edi, esi
shr esi, 0x12
or edi, 0x63ba2e3c
shr ebx, 4
dec esi
mov edi, esi
add ebx, edi
mov edi, esi
jmp 0x4708ba
add esp, 0xb0
add esi, 0x63c2e316
xor ecx, 0x63c35174
sub edi, ecx
or esi, edi
jmp 0x46f61b
mov edx, dword [esp + 0x44]
sub edi, ecx
mov ecx, 0x63dbadf8
and edi, 0x63dc3b76
ror esi, 0x1a
and esi, ecx
xor ecx, edi
jmp 0x471190
mov dword [esp + 0x44], 0
mov ecx, ebx
sub ebx, esi
dec ecx
xor esi, ecx
add esi, edi
ror edi, 0x1a
xor edi, ecx
inc ebx
jmp 0x471256
mov dword [esp + 0xc], edx
and esi, ebx
rol esi, 5
jmp 0x46fe71
mov dword [esp + 0xc], edx
mov edi, 0x63e4ed64
xor esi, ebx
or ebx, edi
xor esi, ecx
jmp 0x46fadc
mul edx
sub esi, edi
ror edi, 0x17
xor esi, 0x64103fe8
xchg ebx, edi
nop
or edi, ecx
xor ecx, 0x64120248
mov ebx, 0x64127786
jmp 0x46f37f
mov edx, dword [esp + 0x90]
xor edi, 0x6413169e
mov ebx, ecx
shl ebx, 0xb
xchg edi, ebx
jmp 0x4712c6
add dword [esp + 0x44], edx
mov ebx, esi
xor ebx, esi
xchg ecx, ebx
xor edi, ecx
add edi, ebx
mov ecx, edi
and esi, ecx
neg ebx
or esi, 0x642bd502
neg edi
jmp 0x46fc7e
mov edx, dword [edx]
shr esi, 4
xchg edi, ebx
and edi, ebx
shr ecx, 7
bswap esi
add ecx, 0x643673ba
dec ebx
mov ecx, edi
jmp 0x470294
inc edx
inc ebx
sub ecx, esi
sub ecx, edi
xor ebx, esi
shl ebx, 0x14
and edi, 0x644022e4
xchg ecx, esi
xor esi, edi
xor ecx, edi
mov ecx, esi
or edi, ecx
xor ebx, 0x644318c0
jmp 0x46f598
mov edx, dword [edx]
shl edi, 4
sub esi, 0x64699f7a
bswap ebx
mov edi, ecx
or ebx, edi
or edi, ebx
sub ebx, ecx
mov esi, 0x646c7eaa
or ecx, 0x646d0334
rol ecx, 0x17
add edi, esi
mov ecx, 0x646e7318
jmp 0x46faf8
add edx, dword [esp + 0x90]
mov esi, ebx
xchg edi, ecx
sub ecx, esi
inc edi
mov ecx, 0x647b1624
mov esi, ecx
add ebx, edi
or edi, 0x647c8e96
shr ecx, 5
sub ecx, 0x647d810c
jmp 0x471481
push edx
dec ebx
or ecx, 0x648a2396
xchg edi, ebx
bswap esi
mov ecx, esi
dec ecx
or esi, ebx
inc esi
jmp 0x470fdf
mov edx, dword [esp + 0x44]
inc ebx
bswap ebx
jmp 0x471539
xor eax, eax
xchg esi, ebx
or edi, 0x64d9bb8c
or ebx, edi
sub ebx, 0x64dab472
mov esi, ebx
and edi, ecx
jmp 0x47054d
add dword [esp + 0x44], 4
and esi, ebx
xchg edi, ecx
or edi, ebx
add ecx, 0x64ed9662
or edi, esi
mov edi, ebx
or esi, edi
xchg ecx, ebx
jmp 0x470875
mov edx, dword [edx]
or esi, ebx
xor esi, 0x650b8846
mov ebx, 0x650c1172
sub edi, ebx
inc ecx
sub esi, ecx
and edi, 0x650dc040
and edi, ebx
mov esi, edi
add esi, ecx
xchg esi, ebx
or edi, ebx
jmp 0x4715b2
mov dword [esp + 0x8c], edx
inc ecx
xchg ebx, esi
rol esi, 0x13
inc esi
ror ebx, 0xc
bswap edi
mov esi, edi
add ecx, edi
add edi, ecx
xor ecx, ebx
jmp 0x4712ee
mul edx
xor ebx, edi
mov esi, 0x6529a9ec
and edi, 0x652a2aba
sub ecx, edi
jmp 0x471bfa
mov edx, 0x30
ror edi, 0x11
xor ecx, esi
and esi, ecx
mov edi, ecx
or edi, ebx
xor esi, ecx
shl esi, 0xd
or ebx, 0x6530b0d2
jmp 0x471777
mov edx, dword [esp + 0x44]
and ecx, esi
add esi, 0x65550b24
not esi
not edi
xchg ecx, ebx
sub edi, esi
xor esi, ecx
mov edi, 0x6557ef7a
sub ebx, edi
dec ecx
jmp 0x470ca2
mov eax, 4
and esi, ebx
not edi
or esi, 0x656193b6
inc ebx
or ebx, 0x656284f4
and ebx, 0x6562f6f0
xchg edi, esi
mov ecx, esi
jmp 0x46f21e
mov edx, dword [edx]
and ebx, ecx
sub ecx, ebx
rol edi, 0x1c
and esi, 0x657ab4ec
rol esi, 7
inc ecx
xchg edi, esi
add ecx, ebx
add ecx, esi
shr edi, 0x1f
rol esi, 7
xchg edi, esi
jmp 0x46f869
add edx, dword [esp]
add ebx, esi
bswap ecx
sub esi, 0x65878b96
neg esi
shl edi, 0x18
bswap ecx
rol ecx, 4
sub ecx, 0x6588dbe8
jmp 0x4708ea
mov edx, dword [edx]
xchg edi, ecx
sub ebx, esi
xor esi, edi
shl esi, 9
jmp 0x47003c
mov edx, dword fs:[edx]
neg ecx
xor ecx, edi
and edi, esi
sub edi, ebx
and esi, edi
add ecx, esi
and esi, ebx
dec ebx
jmp 0x46f8af
mov edx, dword [edx]
bswap edi
shl ecx, 0x16
rol ecx, 0x1a
mov esi, 0x65c06fde
xchg esi, edi
and ebx, ecx
xor ebx, esi
mov ebx, esi
or esi, 0x65c22bbe
and ebx, esi
shr esi, 0x16
sub edi, 0x65c39334
jmp 0x46f534
mov edx, dword [esp + 0xc]
rol ebx, 0x11
add ebx, 0x65c499aa
mov edi, ecx
and edi, esi
and esi, edi
sub ebx, edi
add edi, ecx
neg edi
shl esi, 4
xchg esi, ecx
jmp 0x470b1b
mov dword [esp], edx
add esi, 0x660e461e
xchg ebx, ecx
mov edi, 0x660f2516
xchg esi, ebx
sub esi, 0x66100d00
xor ecx, esi
xor esi, 0x66111bdc
inc ebx
and edi, ebx
add ecx, 0x6612a4c0
shl ebx, 0x1d
shl ebx, 7
jmp 0x46f43b
add edx, 0x3c
add edi, ecx
shr esi, 0x14
and ecx, ebx
or ebx, edi
dec esi
ror esi, 0xf
or ebx, esi
or ebx, edi
xor ecx, 0x662d713e
ror esi, 0xb
mov ecx, edi
mov esi, ecx
jmp 0x470226
mov dword [esp + 0x90], eax
xchg ecx, esi
or ebx, esi
not esi
sub esi, 0x664a42cc
mov esi, 0x664aaf0c
xor ebx, edi
jmp 0x46f6b8