Function at 0x46e8bf
Capabilities:
Encrypt data using chaskey

Disassembly:
push ecx
rol ebx, 0x10
mov ebx, edi
xor edx, 0x5d926d83
and edx, edi
xor edi, edx
sub edx, edi
and edx, ebx
dec edx
xchg esi, ebx
jmp 0x46b315
mov ecx, dword [esp + 0xdc]
sub edi, ebx
and edx, 0x5d9cd483
or ebx, edi
and ebx, 0x5d9d61d3
add ebx, esi
xor edx, edi
jmp 0x46bfde
mov dword [esp + 0xc0], ecx
dec edx
add esi, ebx
xor edx, esi
xor edi, ebx
xchg esi, ebx
sub ebx, edx
and edi, esi
bswap edi
xor edx, edi
jmp 0x46b43c
mov ecx, dword [esp + 0xc0]
bswap esi
rol esi, 0xd
inc ebx
xor ebx, edi
jmp 0x46e277
xor eax, eax
xor edi, esi
mov esi, edx
add esi, edi
add esi, edi
or edx, esi
jmp 0x46c51b
add dword [esp + 0xc0], 4
add edi, 0x5dd0ad03
or edx, 0x5dd0e81e
ror esi, 0xe
and edx, edi
add edx, esi
and esi, edi
xchg edi, esi
add ebx, 0x5dd2601c
ror esi, 0x1d
and edx, edi
jmp 0x46d681
add dword [esp + 0xc0], 0x78
add edi, 0x5de1406f
neg ebx
xor esi, ebx
xor ebx, edx
or edi, esi
shr edi, 0xc
add edx, ebx
dec edi
bswap ebx
add edi, ebx
jmp 0x46b846
rol eax, 8
xchg edx, esi
dec edi
xor edi, 0x5df97e09
xor ebx, edx
sub esi, ebx
sub edi, 0x5dfa3224
xor edx, ebx
sub edx, esi
xchg edi, ebx
bswap esi
or edi, esi
xor edx, esi
and edx, edi
mov esi, edi
rol edi, 0x1b
jmp 0x46e874
add dword [esp + 0xdc], 4
xchg edi, ebx
sub edx, ebx
xor esi, edi
xor esi, 0x5e145b72
xchg edi, edx
and esi, ebx
neg esi
not esi
or ebx, 0x5e159b1a
xor edi, 0x5e15d696
sub esi, 0x5e16145f
add ebx, 0x5e165346
and edx, ebx
mov ebx, 0x5e16c805
not edx
jmp 0x46b07b
mov ecx, dword [esp + 0xc0]
inc esi
mov esi, ebx
sub ebx, 0x5e1ddfb5
or edi, esi
xchg edx, esi
add edx, 0x5e1e933a
sub esi, edx
add ebx, 0x5e1f0a16
add esi, 0x5e1f491f
ror ebx, 0xc
jmp 0x46e5a5
cmp byte [ecx], 0
jmp 0x46e0b3
mov ecx, dword [esp + 0xb4]
add edx, edi
or edx, edi
or ebx, edi
or edx, ebx
ror ebx, 0x17
jmp 0x46d390
ret
sub dword [esp + 0xc0], 8
inc edx
add edx, esi
inc ebx
add edi, ebx
mov edi, 0x5e68a617
add ebx, 0x5e68f523
sub edx, esi
xchg ebx, esi
bswap edi
xor edi, edx
sub edx, 0x5e6a2579
jmp 0x46b7ab
mov ecx, dword [esp + 0xdc]
not edx
xor edx, edi
mov ebx, esi
xor esi, ebx
and esi, ebx
jmp 0x46d176
pop ecx
xor esi, ebx
neg edx
add edx, esi
xchg ebx, edx
or edi, 0x5e896b03
add edi, ebx
xor edi, 0x5e89e35a
jmp 0x46d27f
mov ecx, dword [ecx]
neg edi
ror edi, 2
xchg esi, edx
shl edx, 0x18
or edx, ebx
or edx, ebx
jmp 0x46e126
mov dword [esp + 0xdc], 0
rol edi, 0x17
xchg edx, ebx
and edx, ebx
or ebx, edx
neg edx
dec esi
add edx, 0x5e9ec169
add ebx, edx
or ebx, 0x5e9f367f
jmp 0x46c61e
mov dword [esp + 0xc0], ecx
xchg ebx, edx
or edi, ebx
bswap ebx
shl esi, 0x1d
bswap edi
xor esi, ebx
mov ebx, 0x5eaccbb5
dec edx
and esi, edi
rol edi, 7
add esi, ebx
shl ebx, 0xe
jmp 0x46c395
mov ecx, dword [ecx]
add edx, 0x5eae4b46
inc edi
and ebx, 0x5eaec5fd
add edx, ebx
xchg esi, edx
add ebx, edi
not ebx
add edx, esi
or ebx, edx
mov esi, 0x5eb0df8d
jmp 0x46dc42
add ecx, dword [esp + 0xb4]
xchg ebx, edx
inc ebx
add edi, esi
mov ebx, edx
mov edx, edi
jmp 0x46c7ed
add dword [esp + 0xc0], eax
rol edi, 0xb
sub edi, 0x5ec421d5
and esi, edi
mov ebx, 0x5ec49174
or esi, ebx
neg edi
and edi, ebx
sub esi, edi
and edx, 0x5ec5b551
sub ebx, esi
ror ebx, 0x13
rol edi, 0x1f
xchg edx, ebx
jmp 0x46b29b
add ecx, dword [esp + 0xb4]
shr edx, 0xe
neg edx
and edx, edi
neg edx
and edi, esi
or esi, 0x5ee242d1
xchg edi, esi
and edx, 0x5ee2bda0
not edx
xor ebx, esi
and esi, 0x5ee3728f
jmp 0x46c5a8
mov ecx, dword [esp + 0xb4]
shl esi, 0xc
and edx, ebx
xchg ebx, edi
ror ebx, 0x15
add edx, edi
jmp 0x46e3b0
movzx ecx, word [ecx]
shl esi, 1
xor edx, edi
and edi, edx
sub edi, edx
ror esi, 0x1e
sub edi, 0x5f09392e
neg edi
xor edi, 0x5f09c631
and edi, edx
mov edi, esi
jmp 0x46db9e
xor al, byte [ecx]
add edx, 0x5f0f1285
and edi, 0x5f0f53e5
rol esi, 0x18
mov edx, 0x5f0fe1d6
and edi, esi
add esi, edx
mov ebx, edi
xor edi, esi
xor ebx, edx
sub esi, 0x5f114c84
jmp 0x46b5aa
mov dword [esp + 0xc0], ecx
dec ebx
shr edx, 0x15
shr edx, 0x11
add ebx, esi
dec edi
inc edx
sub edx, 0x5f1a03ed
or ebx, esi
mov esi, ebx
xchg edx, esi
and edi, ebx
jmp 0x46bd3f
mov dword [esp + 0xb4], 0
mov edi, esi
shr edi, 0x12
xchg esi, ebx
rol esi, 3
sub edx, esi
or ebx, esi
mov esi, edx
mov edi, ebx
bswap esi
xor edi, esi
mov ebx, edi
add edx, esi
add edi, 0x5f23ce4e
jmp 0x46e634
mul ecx
shr edi, 4
xchg esi, edi
ror edx, 0x18
mov ebx, 0x5f2a74df
sub edi, ebx
and esi, edi
mov esi, edi
xchg esi, edi
or edi, 0x5f2ba44c
jmp 0x46de81
mov ecx, dword [esp + 0xc0]
or edx, ebx
not edi
add ebx, esi
add edi, edx
neg edx
and ebx, edi
not esi
sub ebx, edx
add edi, 0x5f3aebb3
bswap edx
not esi
neg ebx
jmp 0x46ccfe
mov dword [esp + 0xdc], ecx
or edx, edi
shr edx, 0x14
xchg edx, ebx
xchg edi, esi
sub edi, edx
xor edi, edx
nop
sub ebx, 0x5f4328d0
jmp 0x46d8fb
add dword [esp + 0xc0], 0x20
mov esi, edx
neg edx
or edi, 0x5f50533c
xor ebx, 0x5f5091a2
and edi, 0x5f50dee9
xchg ebx, esi
inc ebx
add ebx, 0x5f519a6b
mov esi, ebx
xchg edi, ebx
xchg edi, edx
bswap edi
jmp 0x46c767
mov eax, 4
xor edi, esi
bswap edx
xor esi, edi
add edx, esi
sub edx, edi
xor edx, esi
xchg ebx, edx
jmp 0x46c4c7
add ecx, dword [esp + 0xb4]
mov esi, edi
shr esi, 0x15
add edx, 0x5f945625
and edi, 0x5f949568
and edi, 0x5f94d1fe
sub edx, edi
not esi
add edi, 0x5f959797
mov ebx, edx
ror ebx, 7
sub edi, esi
mov ebx, esi
jmp 0x46cf77
mov ecx, dword [ecx]
xchg edi, edx
ror edx, 0x1a
ror esi, 0x16
and ebx, edx
sub edi, ebx
mov esi, edx
mov edx, ebx
not esi
sub esi, edi
add edi, esi
and ebx, edi
or esi, edi
jmp 0x46d7c8
mov ecx, dword [esp + 0xb4]
bswap edx
shl esi, 0x15
dec esi
add edx, edi
shr edi, 0x1e
and ebx, esi
add ebx, edi
xchg esi, edx
shl esi, 0x13
and edi, 0x5fcf0993
neg esi
jmp 0x46e800
add esp, 0xe0
or edx, 0x5fd33efd
or esi, ebx
xchg edi, esi
add edi, esi
rol edi, 0xb
or edx, esi
xchg ebx, esi
or edx, ebx
sub ebx, esi
add edx, 0x5fd5f9cc
add ebx, edx
bswap esi
xor esi, edx
mov ebx, 0x5fd6ea7f
bswap ebx
jmp 0x46ba51
mov dword [esp + 0xdc], ecx
xor edi, ebx
add edi, edx
mov edx, 0x5fecb069
xchg edx, edi
mov edi, esi
add esi, edi
add edx, esi
add edx, ebx
jmp 0x46dec1
add ecx, dword [esp + 0x60]
xchg ebx, edx
and esi, ebx
xchg edi, esi
and ebx, edx
rol edx, 4
add edx, edi
xor edi, edx
add ebx, edi
or esi, edx
shr ebx, 5
xor ebx, edx
sub edi, ebx
shr edx, 0xf
jmp 0x46ca51
cmp eax, dword [esp + 0x9c]
jmp 0x46d49a
add ecx, dword [esp + 0xc0]
inc edi
add edi, edx
and edx, ebx
xchg edi, ebx
bswap edx
add edx, ebx
and edi, edx
mov edi, edx
xor edi, 0x601fb641
neg ebx
rol esi, 6
bswap edi
jmp 0x46e900
mov ecx, dword [esp + 0x60]
rol ebx, 0x12
add edx, ebx
or esi, 0x60214b8a
shl edx, 0x18
sub edi, 0x6021c44b
ror edi, 0x19
sub ebx, edx
sub edi, esi
dec esi
ror ebx, 0x19
jmp 0x46c696
mov dword [esp + 0x60], 0
xchg ebx, edi
add esi, 0x6026c20c
mov edi, ebx
add edx, edi
mov edx, 0x60277580
and ebx, 0x6027b0d6
xchg edi, edx
shr ebx, 0x18
xchg esi, edi
jmp 0x46becb
mov dword [esp + 0xb4], ecx
and ebx, edi
and edx, edi
xor esi, edx
xchg edx, ebx
jmp 0x46cf1c
mov dword [esp + 0x9c], ecx
add esi, edx
or ebx, esi
or edx, ebx
sub esi, edi
and edx, esi
mov edx, 0x602b1355
or edi, 0x602b4e36
add edx, esi
jmp 0x46db67
jne 0x46dec1
sub edx, esi
sub edi, edx
add edx, edi
neg ebx
dec edx
or ebx, edi
neg edx
mov esi, edi
bswap edi
dec ebx
add esi, ebx
xchg ebx, edi
xchg edi, esi
and ebx, edx
mov ebx, 0x6031c0de
jmp 0x46b342
mov ecx, dword [esp + 0xc0]
add edx, ebx
bswap edx
shr esi, 4
or esi, 0x6051be05
ror esi, 0x12
or edi, esi
shl edx, 0x13
xor ebx, 0x6052c298
jmp 0x46e099
add ecx, dword [esp + 0xb4]
mov edi, esi
inc edi
mov edx, esi
add edx, ebx
xor edi, edx
jmp 0x46d0c9
mov eax, 2
and esi, ebx
xchg edx, edi
add edi, esi
mov ebx, edi
not edx
shr edi, 1
neg edx
mov edx, 0x6080da6d
jmp 0x46d3b8
add ecx, 0xc
not edx
mov esi, edi
or esi, edi
sub edi, edx
shr edx, 0x17
xchg edi, edx
add edi, 0x6085827a
not edx
and edi, edx
shl esi, 0x1a
jmp 0x46e753
mov ecx, 0x30
xor edi, edx
and esi, edx
or edx, edi
and edx, edi
xchg esi, edi
shl edx, 5
sub edi, esi
xchg esi, edi
jmp 0x46e21f
mul ecx
and ebx, edx
and ebx, edx
sub ebx, edx
inc edi
inc edx
mov edx, 0x60b36c31
and esi, 0x60b3aaa7
add ebx, 0x60b3ebcd
dec esi
jmp 0x46c12a
add ecx, dword [esp + 0xb4]
add edi, edx
dec esi
or edi, ebx
mov esi, edx
rol ebx, 0x18
and edi, 0x60bde6f0
sub edx, ebx
and edi, ebx
xchg ebx, edi
xchg edi, edx
mov esi, ebx
xchg ebx, edx
add edi, esi
and ebx, esi
jmp 0x46afe7
mov ecx, dword [ecx]
ror esi, 0x13
add ebx, edi
add esi, 0x60e4ae1e
mov edi, ebx
shr esi, 0xa
dec esi
and edx, ebx
and edx, 0x60e6b53f
add ebx, edi
inc edi
jmp 0x46d43a
mov dword [esp + 0x60], eax
mov edx, edi
sub edx, ebx
or esi, 0x60e9ab5d
sub edi, ebx
inc edx
and ebx, 0x60ea756b
xor ebx, edx
add esi, ebx
or edx, esi
add ebx, edi
bswap edx
jmp 0x46bbb8
inc dword [esp + 0x60]
mov esi, edi
mov edi, esi
neg edx
add edx, edi
sub esi, ebx
mov edx, 0x60eec359
mov edi, edx
ror edi, 0xf
sub edx, 0x60ef8d5d
not esi
add edi, ebx
add edx, 0x60f0445e
rol ebx, 6
shr ebx, 6
not edx
jmp 0x46b719
mov ecx, dword [ecx]
or esi, edi
not ebx
nop
jmp 0x46c066
add ecx, 0x18
or ebx, esi
mov ebx, edi
sub edi, ebx
jmp 0x46de45
jne 0x46c51b
sub ebx, edi
mov ebx, 0x6112c97c
sub edx, edi
xchg edx, edi
xor esi, ebx
xor edx, 0x6113bf64
xor esi, edi
add esi, edi
or ebx, edx
mov edi, 0x6114c18c
sub edx, 0x6114fe3e
ror esi, 0xb
jmp 0x46bda7
mov ecx, dword [ecx]
add ebx, edx
mov edi, 0x611a7e5d
and edx, ebx
neg edx
neg esi
inc ebx
xchg edx, esi
mov edi, edx
and ebx, 0x611c4245
xor edx, edi
or edi, ebx
ror esi, 8
and edx, edi
jmp 0x46e0a5
mov ecx, dword fs:[ecx]
rol edi, 0x14
add edx, 0x612cd442
xchg edx, ebx
shl esi, 0x1d
mov esi, 0x612d9169
or ebx, edx
xchg esi, edx
add edx, edi
and ebx, 0x612e953e
inc edi
xor edi, esi
and edi, edx
jmp 0x46e560
mov ecx, dword [ecx]
add edi, ebx
or edi, 0x613360f4
xor esi, edx
xor ebx, esi
mov ebx, 0x61341b9d
not esi
sub esi, ebx
jmp 0x46cc2a
add dword [esp + 0xc0], ecx
mov edi, edx
sub esi, ebx
mov edi, edx
xor ebx, edi
or edi, ebx
shl ebx, 9
sub edi, 0x614b828f
mov edx, esi
rol edx, 0xd
sub ebx, edx
xchg edx, ebx
neg edi
inc edi
bswap edx
jmp 0x46c8b7
add ecx, 0xc
sub esi, edi
or edx, edi
xor ebx, edi
ror esi, 0x17
and ebx, esi
mov edx, edi
mov edi, 0x616a0b86
xor ebx, esi
add edi, esi
jmp 0x46e856
mov ecx, dword [ecx]
dec edi
sub edx, esi
mov edx, ebx
dec edx
xor ebx, 0x616f00ed
xchg ebx, edi
xor ebx, edi
jmp 0x46c2c5
mov dword [esp + 0xc0], 0
and esi, 0x61787f18
shr ebx, 0x1a
and esi, 0x6178fd7c
sub ebx, esi
add ebx, edx
sub esi, edx
xchg edx, ebx
jmp 0x46d44e
mov ecx, dword [ecx]
add esi, ebx
rol edx, 0x12
neg edx
rol edi, 0x1c
jmp 0x46be86
mov ecx, dword [ecx]
sub edi, edx
inc edx
neg esi
dec esi
mov edi, ebx
and esi, 0x619a681d
xor edi, ebx
add ebx, 0x619af4c8
nop
xor esi, 0x619b7546
xor esi, edx
add edi, edx
jmp 0x46b15f
add ecx, 0x3c
rol edx, 8
sub esi, edx
mov ebx, edi
shr esi, 0xd
sub ebx, esi
sub edi, 0x619d72e1
and edi, esi
or ebx, esi
xor edx, esi
xchg ebx, esi
neg ebx
sub edi, edx
xor edx, edi
jmp 0x46e7d8
mov ecx, dword [ecx]
and edi, esi
mov edx, edi
and edx, edi
rol edi, 8
xor edx, 0x61a33694
xor esi, edx
xor edi, 0x61a3c2ab
jmp 0x46d93b
inc ecx
and edi, edx
sub edi, ebx
rol edx, 0x18
add edx, 0x61a4cfb0
mov edx, esi
xchg edi, esi
inc edi
and ebx, esi
xchg ebx, edx
and edi, edx
xor ebx, 0x61a68f9b
shr ebx, 6
xchg edi, edx
jmp 0x46b7ed
sub esp, 0xe0
sub ebx, edx
dec ebx
and esi, edx
sub edi, esi
xchg edi, edx
xor edx, ebx
shr esi, 5
sub esi, edi
xchg edi, ebx
xor edi, esi
inc edx
rol ebx, 0x11
neg esi
jmp 0x46d40c
mov ecx, dword [ecx]
dec ebx
add edx, ebx
shr edx, 0x1f
mov edi, esi
xor ebx, 0x61b00efa
or edx, esi
and edi, ebx
and edi, 0x61b0d678
add edx, esi
or edx, edi
and esi, ebx
jmp 0x46bfb5