Function at 0x46d31d
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0x68], 4
and edx, edi
not ecx
xor edi, esi
or edx, esi
xor edi, 0x4ede1b30
xchg ecx, edi
sub edx, edi
nop
ror edx, 4
bswap ecx
jmp 0x46c928
mov ebx, dword [ebx]
mov ecx, edi
inc esi
neg ecx
sub ecx, edx
shr edi, 0xe
ror edx, 0xe
mov edx, 0x4edff6a0
sub edi, ecx
bswap edi
sub edi, edx
nop
and ecx, 0x4ee0826a
jmp 0x46cd25
mov ebx, dword [ebx]
shl edi, 0x14
xor ecx, edi
jmp 0x46d062
sub dword [esp + 0x28], 8
mov edx, esi
not edi
jmp 0x46b626
mov ebx, dword [ebx]
shl esi, 4
sub edx, 0x4eee8b6a
and ecx, 0x4eeea756
shr esi, 0xd
xor ecx, edi
sub edi, edx
nop
dec esi
mov edx, 0x4eef5338
sub edi, ecx
jmp 0x46c36e
mov ebx, dword [ebx]
xchg edx, ecx
or ecx, 0x4eefaf72
and esi, edi
not edi
or edi, esi
xchg edi, ecx
or esi, 0x4ef03a30
and edi, edx
neg edx
shl edi, 0x19
jmp 0x46be30
mov ebx, dword [esp + 0x28]
sub ecx, edi
inc ecx
or esi, edi
ror ecx, 7
xchg ecx, edx
add esi, edx
jmp 0x46b577
add dword [esp + 0x28], eax
and ecx, esi
add edx, 0x4ef26a78
xor ecx, esi
sub edi, ecx
mov esi, edx
xchg edi, edx
neg edi
mov edi, 0x4ef3122e
mov edx, esi
add ecx, edi
inc ecx
not esi
jmp 0x46b2ee
mov dword [esp + 0x28], 0
add edi, edx
add esi, ecx
shl edx, 3
add ecx, edi
bswap edx
sub edx, edi
ror ecx, 0x1a
add ecx, esi
jmp 0x46be18
mov dword [esp + 0x68], ebx
ror edi, 0x1d
xor ecx, edi
neg esi
or ecx, 0x4f01ab32
and esi, edi
and edx, esi
and edi, 0x4f0203a0
inc esi
sub esi, edi
mov edx, esi
add ecx, edi
add ecx, edx
jmp 0x46c64a
add ebx, dword [esp + 0x28]
rol edx, 0x13
sub edi, 0x4f030954
jmp 0x46c033
mov ebx, dword [ebx]
shl esi, 2
and esi, 0x4f070646
jmp 0x46c6b3
add ebx, 0x18
xor ecx, edi
dec edx
dec edx
shr edi, 0xb
mov edi, 0x4f079cb2
neg edx
or ecx, edi
xor esi, edx
jmp 0x46b096
mov ebx, dword [esp + 0x28]
add esi, edx
xchg edx, esi
dec edx
xor esi, ecx
jmp 0x46cbcc
movzx ebx, word [ebx]
xchg ecx, esi
xor esi, ecx
or esi, 0x4f0c7038
xor edx, 0x4f0c8c48
add ecx, esi
mov ecx, esi
sub esi, ecx
xor ecx, edi
or ecx, edi
xor esi, edx
jmp 0x46bcbe
add ebx, dword [esp + 0x20]
not edi
and esi, edx
jmp 0x46baaf
xor al, byte [ebx]
add ecx, esi
dec edx
and esi, ecx
bswap ecx
xor esi, ecx
and edx, 0x4f0f05a6
jmp 0x46c191
mov ebx, dword fs:[ebx]
xchg esi, edx
inc esi
inc esi
mov edi, esi
or edi, ecx
mov ecx, edi
rol edi, 0x10
mov ecx, edx
jmp 0x46c1ad
xor eax, eax
sub esi, edx
and edx, edi
sub edi, edx
inc edx
xor ecx, esi
bswap ecx
add ecx, 0x4f2e7a42
mov ecx, 0x4f2e97aa
add edx, 0x4f2eb092
sub ecx, esi
not edi
inc esi
jmp 0x46b688
push ebx
sub edi, ecx
neg edi
add ecx, esi
ror edi, 0x10
shr esi, 0xa
add ecx, edx
add edi, edx
sub edi, edx
jmp 0x46ba48
add ebx, 0x3c
or edx, ecx
mov ecx, esi
inc edx
mov edi, ecx
add esi, 0x4f3394e6
add ecx, 0x4f33b140
jmp 0x46cd8a
jne 0x46bf8d
add esi, ecx
add esi, 0x4f388b62
or edx, 0x4f38a7cc
ror edx, 0x1f
shr ecx, 0x19
or esi, edi
sub esi, edi
and edi, ecx
jmp 0x46d21b
add esp, 0x88
and edi, ecx
xchg ecx, edi
not esi
or esi, 0x4f3ce044
xor ecx, esi
mov edi, esi
xchg esi, edi
bswap edx
sub edx, edi
or edi, edx
or esi, ecx
sub esi, ecx
jmp 0x46bd27
mov ebx, dword [esp + 0x20]
add ecx, 0x4f3e8e1e
shr ecx, 0x16
ror esi, 0x14
shr edx, 7
mov edi, esi
xchg esi, edi
or ecx, edx
mov edx, edi
jmp 0x46d0ad
mul ebx
add esi, edi
dec esi
mov edx, esi
add edi, ecx
ror edx, 0x19
xchg edx, ecx
jmp 0x46b32a
mov ebx, dword [esp + 0x68]
bswap edx
mov esi, ecx
xchg ecx, esi
or edx, 0x4f44391e
xor edi, ecx
shr ecx, 0x16
jmp 0x46d2e0
ret
mov dword [esp + 0x78], ebx
xor edi, edx
and edi, esi
or edi, esi
and ecx, edx
add edx, edi
and edx, ecx
jmp 0x46c092
add ebx, dword [esp + 0x20]
shl esi, 0x1c
mov esi, ecx
jmp 0x46b4d6
jne 0x46b688
or edi, ecx
shr ecx, 5
sub edi, 0x4f52a3b4
and esi, 0x4f52bf90
xchg edx, edi
bswap ecx
and edi, ecx
shl esi, 0x1e
jmp 0x46ccab
mov ebx, dword [ebx]
xor edi, 0x4f76fc26
xor edi, esi
xor esi, edx
xor edi, edx
xchg ecx, edx
xchg esi, ecx
add esi, edx
xor edx, esi
jmp 0x46b2a4
inc dword [esp + 0x50]
sub edi, esi
sub edx, esi
add ecx, edx
sub edi, 0x4f7c7e90
and esi, 0x4f7c9afc
nop
jmp 0x46b063
mov ebx, dword [ebx]
xor ecx, esi
xor esi, ecx
sub ecx, 0x4f8202de
add edi, edx
mov ecx, 0x4f825d44
mov ecx, edx
add edi, 0x4f82cf98
mov esi, edi
sub ecx, esi
rol ecx, 0xc
jmp 0x46c5fa
mov ebx, dword [esp + 0x20]
and esi, ecx
add esi, edx
sub esi, 0x4f848f06
mov ecx, edx
jmp 0x46b502
mov ebx, 0x30
inc edi
or edx, ecx
mov edi, ecx
and ecx, edi
xchg edi, ecx
rol edx, 0x12
shl ecx, 5
and esi, 0x4f85a98e
rol esi, 0x1b
or ecx, edi
add ecx, edx
mov ecx, 0x4f86135e
add edi, 0x4f862c38
and ecx, esi
jmp 0x46b977
rol eax, 8
and ecx, edx
xor ecx, edx
or edi, edx
and esi, 0x4f8cb48a
and ecx, 0x4f8cd174
add edi, ecx
jmp 0x46c9ee
add ebx, 0xc
add ecx, 0x4f8d10ea
add edi, 0x4f8d3092
sub esi, ecx
sub esi, edi
add edx, esi
add ecx, 0x4f8d9b6e
jmp 0x46c6dd
mov dword [esp + 0x28], ebx
xor ecx, edx
mov ecx, 0x4f9592dc
or esi, edi
and ecx, 0x4f95c9aa
and ecx, edi
add esi, edx
dec edx
add edx, ecx
jmp 0x46bd0a
mov ebx, dword [ebx]
add edi, edx
sub edi, 0x4f9b6a42
dec esi
mov edx, 0x4f9ba2b0
and edx, edi
xchg edi, ecx
add edx, ecx
and esi, 0x4f9c1122
rol esi, 5
shl edx, 7
or edi, ecx
mov edx, ecx
and edx, edi
add ecx, esi
jmp 0x46b587
add ebx, dword [esp + 0x20]
dec esi
rol edi, 2
sub esi, edx
and esi, edi
and ecx, esi
add edx, esi
jmp 0x46c2bd
mov dword [esp + 0x28], ebx
xchg ecx, esi
mov edi, ecx
mov edi, edx
mov esi, 0x4fb26cf4
or edx, ecx
shr edx, 8
and ecx, esi
xchg esi, ecx
jmp 0x46bc6d
mov eax, 2
dec ecx
and ecx, 0x4fb55ab2
mov ecx, edx
shr ecx, 0xa
sub edi, 0x4fb5b15c
or edx, ecx
mov edi, 0x4fb5e42a
add edi, ecx
jmp 0x46cd08
add ebx, dword [esp + 0x20]
ror edx, 7
or ecx, edx
rol edx, 6
neg edx
and esi, ecx
add ecx, 0x4fb93f14
sub edi, ecx
xor edx, edi
and esi, 0x4fb9a006
neg edx
jmp 0x46bc29
mov ebx, dword [ebx]
or edx, 0x4fb9e90c
rol edi, 0x1d
and edx, edi
ror ecx, 0xb
shl edi, 5
mov edx, 0x4fba7b96
bswap ecx
xor edx, 0x4fbac260
jmp 0x46ca87
mov ebx, dword [esp + 0x20]
sub esi, edx
sub ecx, edx
shr edi, 0x1d
add esi, edi
jmp 0x46bada
add dword [esp + 0x28], 0x78
sub edi, 0x4fc13a1a
add esi, ecx
or esi, ecx
nop
xchg esi, edx
or edx, edi
add edx, 0x4fc1fde2
inc edx
sub esi, 0x4fc2391e
mov ecx, edx
add edi, 0x4fc26ce8
and ecx, esi
shl ecx, 0x14
sub esi, ecx
jmp 0x46c07a
mov eax, 4
xor edx, edi
or esi, edi
shl edi, 0x1e
xor edi, 0x4fc82012
or esi, 0x4fc83c7e
inc ecx
jmp 0x46b639
mov ebx, dword [esp + 0x68]
shl esi, 0x18
mov esi, ecx
mov edi, 0x4fcc607c
or esi, ecx
xor edi, esi
xor esi, edx
and esi, edi
mov esi, ecx
jmp 0x46cda1
mov dword [esp + 0x50], eax
sub edi, edx
mov esi, edi
or edi, 0x4fce514c
sub edx, esi
rol edi, 0xa
xchg edx, esi
not ecx
or esi, edi
shl edi, 9
xor edx, esi
jmp 0x46b183
inc ebx
shr edi, 0x17
or ecx, 0x4fd16fca
add edx, esi
xor edi, esi
mov ecx, edi
sub edx, edi
shl esi, 7
mov ecx, 0x4fd2100e
jmp 0x46d284
add ebx, 0xc
or ecx, edi
xchg edi, edx
mov edi, esi
mov ecx, esi
xchg esi, ecx
xchg esi, edx
rol edi, 9
dec edx
mov ecx, 0x4fd68b5a
and ecx, 0x4fd6a746
jmp 0x46bf05
mov dword [esp + 0x28], ebx
neg edi
and esi, 0x4fdd1b36
and edx, esi
and edi, 0x4fdd4e28
xchg esi, edi
bswap edx
mov esi, ecx
mov edi, 0x4fddc08a
jmp 0x46c7ca
mov ebx, dword [ebx]
neg edi
add edi, esi
mov esi, edx
inc esi
add esi, edx
or edx, ecx
sub edx, ecx
mov edi, 0x4fe05070
xchg ecx, edx
inc esi
jmp 0x46c4eb
pop ebx
mov edx, 0x4fe765e2
mov ecx, edi
mov esi, edx
rol edx, 0xe
bswap edx
sub edx, 0x4fe80192
shl edx, 5
mov esi, edx
rol edi, 7
shl esi, 5
shl ecx, 3
mov ecx, edi
jmp 0x46d056
mov ebx, dword [esp + 0x50]
and ecx, edx
or edi, edx
xor edi, edx
and esi, 0x4feb3bfe
xor esi, ecx
shl edx, 8
jmp 0x46d1b1
mov dword [esp + 0x20], ebx
neg esi
add ecx, esi
sub edi, edx
dec ecx
neg esi
xor edx, 0x4fec335a
or ecx, 0x4fec4f46
or edi, 0x4fec6ee0
sub esi, ecx
or edi, esi
or esi, edx
rol edi, 0x10
jmp 0x46c722
add dword [esp + 0x28], 0x20
not esi
xor edi, edx
jmp 0x46cfdb
mov ebx, dword [ebx]
sub edx, edi
add ecx, edi
bswap ecx
or esi, edx
or edx, ecx
add ecx, esi
mov edx, esi
add edi, ecx
jmp 0x46cb6b
mov ebx, dword [ebx]
sub edi, ecx
mov edx, ecx
add esi, edi
neg edi
jmp 0x46b678
mov dword [esp + 0x68], 0
xor esi, 0x4ff3a6e0
or edi, ecx
mov edx, edi
mov esi, 0x4ff3fcb4
shl ecx, 7
xchg ecx, edx
sub edi, ecx
or edx, 0x4ff47ab4
jmp 0x46d0cb
mov dword [esp + 0x68], ebx
or edi, 0x4fff1100
mov edi, 0x4fff2dea
xchg ecx, esi
or ecx, edi
bswap edx
ror ecx, 7
add esi, edi
mov edi, esi
jmp 0x46bf8d
mov ebx, dword [esp + 0x28]
shr edx, 0x1b
mov edi, 0x5002638c
shl edi, 0xd
sub esi, 0x50029bfa
xchg edi, ecx
and edx, 0x5002d466
mov ecx, esi
mov edi, esi
jmp 0x46b152
cmp eax, dword [esp + 0x78]
jmp 0x46bb92
add ebx, dword [esp + 0x20]
shr ecx, 0x19
shr ecx, 0xc
sub ecx, edx
mov esi, ecx
or esi, ecx
bswap ecx
add ecx, edi
mov esi, 0x500697a6
and edx, 0x5006b036
xor edx, edi
jmp 0x46cf64
add dword [esp + 0x28], ebx
mov edx, edi
ror esi, 5
xor edx, ecx
add edx, esi
shl edx, 0xc
mov esi, edx
xchg edx, esi
and esi, edi
jmp 0x46cd55
mov dword [esp + 0x20], 0
shl edi, 8
xor edx, esi
add ecx, edi
and edx, edi
dec edx
xor esi, edi
nop
xchg esi, edi
jmp 0x46b4b4
mov dword [esp + 0x50], 0
xchg esi, edx
add esi, edi
mov edi, edx
mov edi, esi
add esi, ecx
dec ecx
xchg esi, edx
shr ecx, 0x1c
sub ecx, edx
shr edi, 0x12
xor esi, 0x500b6f9a
rol ecx, 0xe
xor edi, ecx
mov edi, edx
jmp 0x46ce12
mul ebx
xor edi, 0x50116a9a
sub ecx, edx
shr edi, 0x18
sub edx, ecx
rol esi, 0xe
shl edx, 4
jmp 0x46c971
add dword [esp + 0x28], 4
sub esi, 0x5014a1ec
inc ecx
jmp 0x46d2fd
cmp byte [ebx], 0
jmp 0x46bec3
add ebx, dword [esp + 0x50]
xchg ecx, edi
add ecx, 0x5019d3fe
shr ecx, 0x17
and esi, edi
xor esi, edi
xor esi, edi
jmp 0x46c895
mov ebx, dword [esp + 0x28]
xor edx, esi
mov edx, edi
sub ecx, edx
shr edi, 0x1f
add edx, 0x501ad1f6
mov ecx, edi
inc esi
xchg edi, ecx
jmp 0x46b2ca
sub esp, 0x88
mov edx, ecx
or edi, edx
shr edx, 3
and edi, ecx
or edx, 0x501bb0b4
xor ecx, edx
neg ecx
sub edx, ecx
jmp 0x46d0ea