Function at 0x46b80f
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edi, dword [edi]
dec esi
ror edx, 5
add edx, esi
add ecx, edx
mov edx, ecx
sub ebx, ecx
sub esi, ecx
and edx, esi
jmp 0x46d04b
sub esp, 0x138
sub edx, esi
and edx, ebx
bswap ebx
and ebx, esi
jmp 0x46be70
rol eax, 8
sub edx, ecx
ror edx, 0xc
add edx, esi
or edx, ebx
rol ebx, 0x17
add ebx, 0x410819d6
and ecx, esi
shl edx, 4
jmp 0x46e07b
add edi, 0xc
sub ecx, edx
mov esi, ebx
add edx, ecx
sub ecx, esi
mov esi, ecx
bswap ecx
jmp 0x46d2f1
mov edi, dword [edi]
and ecx, esi
xchg esi, ebx
add ecx, ebx
mov ebx, edx
jmp 0x46d635
add dword [esp + 0xbc], 0x78
xchg ecx, edx
mov ebx, 0x41200e44
xchg esi, edx
not esi
jmp 0x46d9ca
add dword [esp + 0xbc], 4
add ecx, esi
neg ebx
add esi, 0x412e39be
shr esi, 0xe
mov esi, 0x412e6e04
and esi, edx
add ecx, esi
or edx, ecx
jmp 0x46d5bd
mov dword [esp + 0x100], 0
not esi
xchg esi, ebx
add ecx, ebx
or ebx, 0x4135629e
or ecx, edx
and esi, ebx
xchg ebx, edx
inc ebx
xor ebx, ecx
or esi, ecx
and edx, ebx
shl esi, 0x14
neg edx
or ebx, esi
jmp 0x46bf28
mov dword [esp + 0x60], 0
add esi, ecx
or ecx, ebx
sub ebx, edx
or ecx, 0x413b6144
xor ebx, 0x413b7dd4
add ecx, esi
jmp 0x46c2fb
mov edi, dword [esp + 0xbc]
xor edx, ecx
not ebx
mov edx, ebx
xchg ebx, edx
and edx, ecx
add ebx, ecx
jmp 0x46ccbe
mov dword [esp + 0x60], edi
neg esi
xor edx, esi
or edx, esi
add ebx, esi
and esi, 0x413cd6fc
and ecx, 0x413cf3b0
neg ebx
or ebx, edx
and edx, ebx
add ebx, ecx
jmp 0x46c14c
mov dword [esp + 0x60], edi
add esi, 0x41410280
and esi, edx
not esi
or ebx, ecx
rol esi, 4
shl edx, 0xa
xchg ecx, esi
neg ecx
mov ebx, esi
sub edx, ecx
jmp 0x46d153
mov edi, dword [edi]
and ecx, esi
neg esi
dec edx
and esi, edx
xor esi, edx
add esi, ebx
jmp 0x46deea
push edi
sub edx, ebx
bswap edx
and ebx, esi
or edx, 0x4147c6d8
ror edx, 0x19
mov ecx, ebx
jmp 0x46ca2f
mov edi, 0x30
not esi
or edx, esi
xchg edx, esi
neg edx
dec ecx
ror ebx, 0x1c
sub edx, esi
xchg ebx, edx
sub esi, ebx
mov edx, 0x41491636
jmp 0x46cbf2
mov eax, 2
xchg esi, edx
shr edx, 0xa
add ebx, ecx
or ebx, esi
or ebx, 0x414c6b28
and ebx, edx
add ecx, edx
xor esi, edx
jmp 0x46ca70
pop edi
mov ebx, 0x41518fa4
ror ebx, 0xb
dec edx
ror ecx, 0xe
add edx, ecx
or esi, ebx
ror ebx, 0xe
mov ebx, edx
jmp 0x46cf7f
mov dword [esp + 0x38], 0
not esi
xchg esi, ebx
add ecx, ebx
or ecx, esi
add ecx, 0x415832fe
and esi, ebx
or ecx, edx
and ecx, esi
xor ecx, esi
add ecx, 0x4158b884
sub ebx, edx
xor ebx, edx
jmp 0x46c779
add dword [esp + 0xbc], edi
add edx, ecx
xchg edx, esi
and ecx, ebx
xchg ecx, ebx
sub ebx, edx
sub edx, ebx
xchg edx, esi
inc edx
xor ebx, esi
or ecx, ebx
and edx, esi
ror esi, 4
jmp 0x46c3d9
cmp byte [edi], 0
jmp 0x46c409
add dword [esp + 0xbc], 0x20
and edx, ecx
shr ebx, 0x19
mov esi, ecx
mov edx, ebx
mov ecx, edx
xchg ecx, esi
jmp 0x46bf4c
jne 0x46dfe4
and edx, esi
mov edx, ebx
shr ecx, 0x19
mov ecx, 0x415f7250
neg ebx
and ecx, esi
sub ecx, 0x415fc588
and edx, ebx
mov ecx, edx
xchg edx, ebx
bswap esi
or edx, 0x41604ce4
jmp 0x46c216
add edi, dword [esp + 0x100]
sub ecx, edx
and ebx, esi
add ecx, esi
mov ebx, 0x416e8bda
inc esi
rol edx, 9
sub edx, ebx
xchg edx, esi
rol ecx, 0xd
nop
jmp 0x46de34
add dword [esp + 0x60], 4
and ecx, edx
sub esi, ebx
mov edx, 0x41724af6
ror ebx, 8
add edx, ebx
shl ecx, 7
and ebx, esi
add ebx, ecx
jmp 0x46da7e
mov dword [esp + 0xbc], edi
or edx, ecx
xchg ecx, esi
mov esi, 0x4173286e
ror ecx, 5
ror ecx, 2
shr ebx, 0x1b
sub ebx, ecx
mov ebx, edx
nop
rol ebx, 3
jmp 0x46de60
mov dword [esp + 0xbc], 0
xchg ecx, esi
mov esi, 0x4178ec7c
sub edx, esi
not esi
jmp 0x46c8e7
mov edi, dword [edi]
sub edx, esi
and esi, ebx
xor esi, ebx
xchg esi, ebx
sub ecx, esi
or ecx, ebx
add ebx, edx
mov ecx, 0x41822a44
and ebx, esi
xor esi, ebx
dec edx
shl esi, 3
jmp 0x46d98c
mov dword [esp + 0x108], edi
shr esi, 0x16
inc ecx
rol ebx, 0x19
mov esi, ebx
jmp 0x46c0db
add edi, dword [esp + 0xbc]
or edx, 0x4184f07a
add ecx, ebx
and edx, esi
and ebx, edx
or esi, ebx
xchg ebx, edx
dec ecx
add ebx, edx
mov ebx, edx
or ebx, edx
mov ecx, 0x4185f8a4
sub ebx, 0x41861480
jmp 0x46dd52
add edi, dword [esp + 0x38]
and ebx, edx
inc ecx
mov esi, ebx
not ecx
and ebx, esi
ror edx, 0x15
shr ecx, 0x17
sub ebx, edx
jmp 0x46e206
mov edi, dword [edi]
or ecx, edx
bswap esi
mov edx, esi
shr esi, 0x1b
bswap edx
not esi
or esi, ebx
xor ecx, 0x418bffde
dec esi
xor esi, ecx
xor edx, ebx
xor edx, 0x418c6dc2
jmp 0x46d819
xor eax, eax
xchg ecx, edx
or ecx, ebx
inc ecx
or edx, ebx
add edx, 0x418f07b6
and ecx, 0x418f27a8
rol ecx, 0x1b
sub ecx, esi
jmp 0x46dfe4
ret
mov edi, dword [esp + 0x100]
add ecx, ebx
or ecx, ebx
mov esi, 0x4190cca4
or esi, edx
mov ecx, esi
and edx, ecx
ror edx, 0xe
ror edx, 0xc
jmp 0x46cf03
mov edi, dword fs:[edi]
rol esi, 0xc
shl edx, 6
or esi, ecx
mov ecx, edx
neg ecx
sub ecx, edx
jmp 0x46b9a5
mov edi, dword [edi]
mov esi, edx
and ebx, 0x41a37618
xchg esi, edx
or esi, ebx
sub esi, ebx
inc ebx
and ebx, edx
sub edx, ebx
ror ecx, 3
add esi, ebx
jmp 0x46dbb9
mul edi
inc edx
and ebx, edx
xor esi, ecx
xor edx, ebx
jmp 0x46e09a
cmp eax, dword [esp + 0x108]
jmp 0x46cfea
jne 0x46d153
mov esi, ecx
xor ecx, ebx
sub ecx, 0x41bc7aa2
or esi, 0x41bc9766
xor esi, 0x41bcb3f6
or ebx, ecx
mov ebx, edx
shr esi, 9
xor ebx, edx
dec ebx
jmp 0x46bd7f
mov edi, dword [edi]
xor ecx, esi
add ecx, 0x41bef0fc
neg esi
dec edx
sub ebx, esi
or esi, ebx
jmp 0x46d344
inc dword [esp + 0x100]
xor edx, esi
xchg esi, edx
and esi, 0x41c6658c
xor ecx, edx
add esi, ecx
sub ecx, ebx
or edx, esi
sub edx, ebx
sub edx, 0x41c7022a
sub ebx, 0x41c71e94
shl ebx, 0x16
and ebx, edx
jmp 0x46c695
add edi, 0xc
and ebx, esi
sub ecx, edx
or ebx, ecx
not ebx
add ebx, edx
xor edx, ebx
jmp 0x46b7e5
mov edi, dword [esp + 0xbc]
shr edx, 0x17
sub ebx, ecx
dec esi
ror edx, 0x1f
and edx, 0x41cde01c
or ebx, esi
neg edx
mov edx, 0x41ce376a
dec ecx
neg esi
and ebx, 0x41ce881c
xor ebx, edx
sub esi, ebx
and edx, ecx
jmp 0x46d5dc
add edi, dword [esp + 0x38]
inc ebx
add edx, ebx
shl ecx, 0xe
and ebx, esi
sub ecx, edx
add esi, 0x41d210c2
add esi, ecx
add esi, edx
jmp 0x46e2ac
mov edi, dword [edi]
xor esi, ecx
or esi, edx
and esi, 0x41d29842
and ecx, 0x41d2b506
mov edx, esi
mov edx, ebx
mov ecx, edx
add esi, edx
xchg ebx, edx
add edx, ecx
neg ebx
inc esi
jmp 0x46d21d
mov edi, dword [edi]
or ecx, 0x41d51016
not ecx
xor esi, 0x41d54c1a
or ecx, esi
xor ebx, edx
add edx, ebx
inc edx
shr edx, 1
jmp 0x46d53b
add dword [esp + 0xbc], eax
xchg ecx, ebx
sub esi, ecx
not esi
xor esi, edx
mov ebx, esi
sub ecx, edx
add esi, 0x41d9dcc6
mov ebx, edx
nop
not esi
add ecx, esi
and esi, 0x41da6446
jmp 0x46d249
mov edi, dword [edi]
and esi, 0x41db74c0
shr edx, 0xc
and edx, ecx
shr ebx, 0xe
add edx, esi
neg ecx
xchg edx, ebx
sub ebx, esi
jmp 0x46c981
add edi, 0x18
add edx, esi
or esi, ecx
or esi, edx
add edx, 0x41e52cf4
or edx, ecx
sub ecx, esi
mov esi, ecx
xor ecx, ebx
jmp 0x46bb59
mov edi, dword [esp + 0xbc]
ror esi, 0x14
sub esi, edx
add ecx, esi
inc ebx
mov edx, ebx
add ecx, edx
sub ecx, edx
xor ebx, esi
dec ecx
mov esi, ecx
jmp 0x46c9c4
mov edi, dword [edi]
xchg ebx, ecx
and ecx, edx
mov ebx, esi
sub ecx, edx
or esi, ebx
ror ebx, 0x1b
shl ebx, 0x14
and ebx, edx
jmp 0x46d2d1
mov dword [esp + 0x38], edi
or esi, ebx
sub ebx, esi
add ecx, 0x41ed2732
and edx, 0x41ed43c0
jmp 0x46d77b
mov edi, dword [esp + 0x60]
not ebx
add ebx, esi
sub ebx, esi
shr edx, 0xc
mov edx, 0x41f39850
and edx, ebx
shl esi, 7
or ecx, edx
mov ecx, 0x41f406c2
rol esi, 0x1a
jmp 0x46c611
mov edi, dword [esp + 0x38]
neg ecx
and esi, ebx
jmp 0x46d842
add edi, dword [esp + 0x38]
sub ebx, edx
mov ecx, edx
mov ebx, esi
add edx, 0x41fb2a92
bswap ecx
or esi, ecx
neg ecx
shl esi, 5
xchg edx, esi
add ebx, 0x41fbd2b8
jmp 0x46bf64
add edi, 0x3c
shl ebx, 0x19
shr esi, 9
mov esi, 0x41fc2c56
xchg edx, esi
xor esi, edx
mov ecx, esi
sub esi, ecx
xor edx, 0x41fcb506
add esi, edx
mov ebx, esi
jmp 0x46c8a8
mov dword [esp + 0xbc], edi
add esi, 0x4205a6fc
inc ecx
shr ecx, 3
or ecx, 0x4205ffe8
jmp 0x46bbbe
mov edi, dword [esp + 0x38]
add edx, 0x42073bb8
not ecx
and edx, ecx
and edx, esi
xchg esi, ecx
and ebx, 0x4207bffa
xor ebx, edx
and edx, ecx
mov edx, 0x4208115e
add esi, 0x42082a6c
jmp 0x46c8fc
movzx edi, word [edi]
nop
and ebx, 0x42086cb2
bswap edx
not ecx
inc ebx
or edx, esi
nop
and edx, ebx
bswap ebx
dec esi
xor edx, ecx
bswap esi
not edx
add ecx, edx
jmp 0x46e27b
mov edi, dword [esp + 0x60]
rol ecx, 0x1b
sub ecx, 0x420cdc06
xchg edx, esi
add ebx, 0x420d127c
xor edx, ecx
xor esi, ebx
neg ebx
sub edx, esi
jmp 0x46c02b
mov edi, dword [esp + 0xbc]
bswap ebx
sub esi, ebx
xor ecx, 0x420f3c02
shl ebx, 0x1a
ror esi, 1
add esi, ebx
jmp 0x46d413
add edi, dword [esp + 0x38]
rol edx, 0x18
add edx, 0x42156d3e
xor esi, ebx
or esi, ecx
or ecx, ebx
xor ebx, edx
xchg edx, ebx
add ebx, 0x42160f7a
jmp 0x46c005
mov edi, dword [edi]
ror esi, 3
or edx, ecx
bswap esi
not edx
xor esi, ecx
or esi, 0x4221777e
add edx, 0x4221900c
mov ebx, ecx
jmp 0x46c6b7
mov eax, 4
mov esi, edx
add edx, ebx
shl ecx, 0xc
and ebx, esi
xor ebx, ecx
xchg ecx, ebx
sub ebx, edx
sub edx, ebx
bswap ebx
sub esi, ebx
sub ecx, esi
rol ecx, 0xa
add ecx, 0x422913be
not ebx
jmp 0x46d9f9
mov edi, dword [esp + 0x38]
shl ecx, 0x12
and ebx, esi
or edx, ecx
sub ebx, ecx
not ebx
xor edx, esi
or esi, ebx
or ebx, esi
xchg esi, ebx
shr esi, 0x1e
jmp 0x46c32b
add edi, dword [esp + 0x38]
shl esi, 8
add edx, ecx
xchg ebx, esi
add esi, ecx
or ecx, ebx
xor edx, 0x422da166
or ecx, edx
or esi, ebx
or ebx, esi
add edx, esi
mov ebx, 0x422e24f6
and ebx, edx
jmp 0x46c0c4
xor al, byte [edi]
rol edx, 0x10
add ecx, edx
xor esi, 0x42345740
or ebx, ecx
rol ecx, 0x11
xchg esi, edx
and edx, ebx
bswap ebx
xor ebx, 0x4234fa54
sub esi, 0x4235173e
jmp 0x46b8c4
inc edi
add ecx, edx
sub ecx, edx
and ebx, esi
or edx, ecx
inc esi
add edx, esi
dec ebx
xor ecx, edx
sub ebx, esi
inc ebx
shr esi, 0x19
mov esi, 0x4239338e
jmp 0x46c36b
mov dword [esp + 0x100], eax
mov esi, ebx
xor ebx, esi
neg edx
shr ebx, 0x11
xchg ebx, ecx
xchg edx, ebx
jmp 0x46e16d
sub dword [esp + 0xbc], 8
and ecx, edx
and esi, 0x423fdb7c
neg edx
or ebx, ecx
jmp 0x46dadb
mov dword [esp + 0xbc], edi
dec ecx
xchg esi, ecx
nop
not esi
xor esi, 0x4244fb20
shr edx, 5
jmp 0x46d70f
mul edi
mov ecx, esi
or ecx, esi
and edx, esi
add ebx, edx
mov esi, edx
add ebx, esi
xchg edx, esi
add ebx, 0x4249092a
jmp 0x46d3d2
add esp, 0x138
xor esi, 0x4249a402
ror edx, 0x1c
not ebx
and edx, ebx
sub esi, edx
add ebx, ecx
jmp 0x46ca4e