Function at 0x46b1e9
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp], esi
and ecx, ebx
or edx, edi
xchg ebx, ecx
mov ebx, ecx
or ebx, edi
shl edi, 0x1f
sub edi, 0xc02fa7e0
xchg ecx, ebx
jmp 0x46cd85
xor eax, eax
xchg ebx, ecx
add edi, edx
mov ecx, edx
rol edx, 0x1d
shl ebx, 0x16
xor edi, 0xc046d30b
and edi, ebx
add edi, ecx
jmp 0x469fcd
mov esi, dword [esp + 0xc8]
and ebx, 0xc068e058
or edx, ebx
dec edx
xor edx, ebx
xchg edi, ecx
mov edx, edi
or edx, 0xc06c5077
sub edi, ecx
mov ebx, edx
add ebx, edi
or ecx, edx
xchg ebx, ecx
jmp 0x469a96
mov dword [esp + 0xd0], 0
not ebx
bswap edx
and ebx, 0xc0847d51
mov edx, ebx
or ecx, ebx
shr ebx, 0x10
sub edx, ecx
shr ecx, 3
jmp 0x469e9d
mov dword [esp + 0xc0], eax
neg edx
and edx, 0xc09d02c8
dec ebx
inc edx
bswap edi
mov edx, ecx
jmp 0x46c07d
mov esi, dword [esi]
or ebx, 0xc0ae3e33
xor ecx, ebx
xchg ebx, edx
add edi, edx
ror edx, 0x12
add edi, 0xc0b1246a
mov ebx, edi
and edi, ecx
not ebx
jmp 0x46c0fc
mov esi, dword [esi]
xor ebx, ecx
sub ebx, ecx
mov ecx, ebx
not ebx
add ecx, ebx
xchg edx, ecx
sub ecx, edi
mov ebx, 0xc0b78e20
dec ebx
jmp 0x46cee8
add esi, dword [esp + 0xc8]
mov ecx, edx
xchg edx, ebx
mov edi, edx
shl edx, 9
rol edi, 6
jmp 0x46aeda
mov dword [esp + 0xc8], 0
mov edx, ebx
xor edx, ecx
xor edi, edx
add edx, ecx
mov edx, ecx
sub ecx, edi
or edi, edx
mov ebx, edx
xor ecx, 0xc0d70a11
xchg ecx, ebx
mov ebx, edx
add ebx, edx
mov edx, ebx
xor ecx, ebx
and edi, ecx
jmp 0x46a8aa
xor al, byte [esi]
neg ebx
and edx, 0xc1050a26
or ecx, edi
sub edx, 0xc1062cdb
or edx, ebx
mov edi, edx
mov ecx, edi
xor edi, edx
sub ecx, 0xc10903de
add ecx, edx
add ecx, edi
neg edx
sub ebx, edi
sub ebx, ecx
ror edi, 0xc
xor edi, ecx
jmp 0x46d16d
add esi, 0xc
xor edi, ebx
xchg edi, ecx
sub ecx, 0xc10ec666
add edi, 0xc10f731a
and edx, 0xc1100438
or ebx, edx
mov ecx, edi
jmp 0x46b88d
mov esi, dword [esp + 0xc0]
and ecx, edx
sub ebx, ecx
sub ecx, 0xc112f1f4
add ecx, edx
sub edi, 0xc1141088
and ebx, 0xc1149e25
mov edx, edi
sub edi, 0xc115beaf
mov ebx, ecx
and edi, ebx
shl ecx, 0x15
jmp 0x46c7c9
add dword [esp + 0xd0], 4
shl ebx, 0x13
mov edi, ecx
dec edx
ror ebx, 0x1a
mov ecx, edx
and edi, ebx
add edx, 0xc15bd166
sub edx, edi
mov ebx, edx
shl ebx, 5
xor edi, 0xc15e2602
bswap ecx
jmp 0x46bf65
mov esi, dword [esi]
add edi, 0xc1632da1
xor edx, ecx
and ecx, edx
ror ebx, 0x1d
bswap edx
neg edx
mov ebx, ecx
sub ebx, edi
add ecx, 0xc167cb95
add edx, ebx
jmp 0x46c865
mov esi, dword [esp + 0xc8]
and edx, ecx
mov edi, 0xc169a576
or ecx, edx
shl edx, 0x12
or ecx, edx
xor ebx, ecx
jmp 0x46cd20
jne 0x469fcd
shl edi, 8
dec ecx
shr edi, 0x13
mov ecx, edi
xor edi, 0xc180c702
and edi, edx
xor edx, ebx
neg edx
mov ebx, ecx
jmp 0x46aec3
push esi
dec edi
add edx, ebx
sub ecx, 0xc1d0b939
or ecx, edx
xor edx, ebx
mov edi, ecx
xchg edx, ecx
sub edx, edi
or ecx, 0xc1d3ff9b
jmp 0x469b2e
mov esi, dword [esp]
mov ecx, edx
or ebx, edi
ror edi, 0x1e
and edx, ecx
xor ecx, 0xc1e08819
dec edx
mov edx, ebx
or ecx, 0xc1e25161
and ecx, edx
and edx, 0xc1e36bc6
shr ecx, 5
jmp 0x46cf70
jne 0x46b8f7
add ebx, edx
sub edi, edx
xor edi, ebx
sub edx, 0xc2689e2c
or edi, 0xc2695242
and edi, ebx
add ebx, edx
jmp 0x46d388
mov dword [esp], esi
xor edx, 0xc26e6e1c
sub edi, 0xc26f0242
or ecx, edi
and ecx, ebx
sub ecx, edi
or ecx, 0xc2714e44
xor ecx, ebx
sub edx, edi
add edx, 0xc272f8e7
ror ebx, 0x1e
xor ecx, edi
or edx, ebx
jmp 0x469c0d
mov dword [esp], 0
inc ebx
or ecx, 0xc28051a5
xchg edi, edx
add ecx, edx
bswap ecx
sub edi, ebx
sub edx, ebx
mov edi, ebx
and ebx, edx
add ecx, 0xc284e083
and edx, ebx
jmp 0x46b0b8
mov esi, dword [esi]
not edx
xchg ecx, edi
xchg ebx, edi
xchg ecx, ebx
inc edx
add edx, ecx
not edi
jmp 0x46d882
mov esi, dword [esi]
shr ebx, 0x13
add edx, edi
and ecx, ebx
or edx, 0xc31cdea6
or ebx, edx
and ebx, ecx
and ebx, edi
add edx, edi
rol ebx, 0x16
jmp 0x46d616
cmp eax, dword [esp + 0xe0]
jmp 0x46a803
mov dword [esp + 0xd0], esi
xor edi, edx
shl ecx, 0x1b
sub edx, edi
inc ecx
shr edx, 0x1c
shl edx, 0xd
neg ecx
xchg ebx, edx
xor edx, ebx
or ecx, ebx
add edx, edi
xor ecx, ebx
or ecx, edi
not ebx
jmp 0x46d59e
pop esi
ror ebx, 0xc
sub edx, 0xc39281da
xor ecx, ebx
and edx, 0xc39345f5
jmp 0x46add3
mov dword [esp + 0xd0], esi
neg edi
add edx, ecx
rol edx, 6
dec ebx
and edx, edi
xchg edx, ebx
mov edi, 0xc395d46b
xchg ebx, edi
and edi, ecx
jmp 0x46b8f7
add esi, 0xc
sub edx, ecx
xchg edi, ebx
dec ebx
add ecx, edi
mov edx, ebx
and edx, edi
mov ecx, 0xc39be56a
and edx, ecx
xor ebx, 0xc39ca7f9
sub edx, 0xc39cfccc
xchg ecx, edi
xor edx, edi
rol edx, 0x1d
jmp 0x46bb93
movzx esi, word [esi]
ror ebx, 3
mov edi, ecx
xor ecx, 0xc3af1891
mov edx, ebx
mov ecx, edx
mov edx, ebx
and edx, edi
or ecx, edx
xchg ebx, ecx
and ebx, edx
jmp 0x46d736
mov esi, dword [esp]
inc edi
shr edi, 0x12
not edx
add ebx, ecx
or edx, ebx
add edx, 0xc3c93a8b
or ecx, ebx
mov ebx, ecx
sub ebx, 0xc3cb2bc8
add ebx, edi
sub edx, edi
bswap edx
sub edi, 0xc3cda9f9
jmp 0x46bd82
mov dword [esp + 0xe0], esi
neg ecx
rol ecx, 0x19
or ecx, edx
add edi, 0xc3e203db
rol edi, 7
mov edx, 0xc3e350ca
or ecx, edx
and ecx, ebx
add edx, ebx
jmp 0x46d76e
mov esi, dword [esi]
dec edi
rol edi, 0xd
not ebx
add edx, ebx
ror edi, 0x13
sub ecx, edx
bswap ebx
not edx
xchg ebx, ecx
and edx, 0xc3fbf2dc
jmp 0x46c3ff
mov esi, dword [esp + 0xd0]
or ecx, edi
and ecx, ebx
mov ebx, ecx
xor ecx, ebx
mov ebx, ecx
xchg ecx, edi
or edx, edi
and ecx, edi
xchg edx, ebx
or ebx, 0xc40cf99d
xor edx, edi
xor edx, 0xc40e207d
jmp 0x46c3de
sub esp, 0x120
nop
xor edi, 0xc4181a3f
add ebx, ecx
or edi, ecx
add edi, 0xc41a08bf
or edx, 0xc41ab587
add edx, edi
add ebx, 0xc41bf152
mov edi, ebx
add edi, 0xc41d45f0
or ebx, ecx
jmp 0x46c556
mov eax, 4
ror edx, 0xc
mov ebx, edi
dec ebx
bswap ebx
add edi, edx
xchg ecx, edi
ror ebx, 7
and ebx, ecx
and ebx, edx
or ebx, ecx
rol edi, 0x18
jmp 0x46af9d
mov esi, dword fs:[esi]
and edi, ebx
add edx, ebx
xor edi, ebx
add edx, 0xc499acf2
and ebx, 0xc49a734f
add ebx, edi
and ebx, edi
jmp 0x46a001
add dword [esp], eax
inc ecx
xor edi, edx
or ecx, 0xc4fc25cc
and edx, 0xc4fcbc87
xchg edx, edi
or edi, edx
sub ecx, 0xc4fe8bd6
dec ebx
jmp 0x46bc26
mov esi, dword [esp]
and edx, edi
nop
sub ebx, ecx
jmp 0x46ac44
cmp byte [esi], 0
jmp 0x46a2e4
mov esi, dword [esi]
add edx, edi
sub ebx, ecx
not ecx
and edx, edi
mov ebx, 0xc5425473
jmp 0x46af1b
inc dword [esp + 0xc0]
ror edi, 4
or edi, ebx
or ebx, 0xc554437a
xchg ebx, edi
jmp 0x46a1fa
mov esi, dword [esi]
and ecx, edi
rol edi, 1
not edi
dec edx
inc edx
and ecx, edi
xchg edi, ecx
dec edx
inc ebx
mov ebx, 0xc5dfcb02
and ecx, 0xc5e06be8
mov edi, edx
not edx
xchg edx, edi
jmp 0x469dbd
mov esi, dword [esp]
ror edi, 9
add edx, ebx
and ecx, 0xc5fd819e
xchg edx, edi
xor ebx, edi
shl ecx, 0xf
jmp 0x46a23d
mov esi, dword [esi]
mov ecx, ebx
ror ecx, 0x1a
dec edi
or ebx, edx
and ecx, 0xc640b3f1
xchg edi, edx
mov edx, ecx
dec edx
inc edx
and ebx, edi
and edi, edx
bswap ecx
jmp 0x46d575
ret
mov esi, dword [esp + 0xd0]
xchg ecx, edx
add edx, edi
mov ebx, edx
sub edx, ebx
sub edx, 0xc69c2864
mov ecx, ebx
xor ecx, 0xc69dadcf
jmp 0x469ddf
sub dword [esp], 8
or ecx, edi
shl ebx, 0x18
or ebx, ecx
and ebx, edi
xor edx, 0xc6cd619f
mov edi, 0xc6cdf74f
neg ebx
and edx, edi
shl edx, 0xb
mov edx, ecx
bswap edi
mov edi, edx
xchg ecx, edi
and edi, edx
not ebx
sub edi, ecx
jmp 0x46b790
mov esi, dword [esi]
sub ecx, edi
mov ecx, edi
mov edi, ebx
dec ecx
ror ebx, 8
or ebx, edx
xchg ecx, edx
sub edi, ecx
shl edi, 0x1f
dec ebx
sub edi, ecx
jmp 0x46a839
mov esi, dword [esi]
or edi, edx
shr edi, 0x16
bswap ecx
and ecx, edi
mov edi, edx
shr ecx, 9
sub edx, ebx
jmp 0x46c4dc
add esi, dword [esp + 0xc0]
mov ecx, edi
sub edx, 0xc7784ff2
inc ecx
not ecx
sub ecx, edi
bswap edx
mov ebx, 0xc77ba901
dec ebx
jmp 0x46b3f4
mov dword [esp], esi
xchg edi, edx
xor ecx, 0xc77da850
xor edx, ebx
and edx, ebx
sub ebx, ecx
not edx
dec ecx
and ebx, 0xc7817ccc
shl ebx, 9
shr edx, 0xd
not ebx
xor ecx, edx
jmp 0x46c89b
add esi, 0x18
and edx, ebx
xor ebx, edi
or ecx, 0xc7a95b5f
and edx, 0xc7aa4204
jmp 0x46a8d7
mov dword [esp + 0xc0], 0
neg ecx
mov edi, ebx
xor edi, ecx
xor edx, 0xc7c0e7fa
xchg edi, ecx
mov ebx, edx
xchg edi, ecx
add ebx, 0xc7c37e1e
jmp 0x469cb5
mov esi, dword [esp + 0xc8]
mov ecx, edx
xchg edi, edx
inc ecx
neg ecx
xchg edi, edx
ror ecx, 1
xchg ecx, edx
add ecx, edi
jmp 0x46c8d4
add esp, 0x120
xchg ebx, edi
add ebx, 0xc9b0f3e4
xor ebx, edx
bswap ebx
or ebx, ecx
mov edx, ecx
inc edi
or ecx, ebx
or ebx, 0xc9b546ae
jmp 0x46bed4
mul esi
add edi, ecx
mov ecx, 0xc9e86131
and ebx, edx
mov ecx, 0xc9e98bef
add ecx, 0xc9ea2251
or edi, edx
and ecx, edx
xor ecx, edx
xor ebx, edx
jmp 0x469d58
add esi, dword [esp + 0xc8]
and ecx, edx
dec ecx
add edi, edx
xchg edx, ebx
add ecx, edx
mov edx, 0xca0a3946
or ecx, 0xca0add4a
add ecx, ebx
xchg edi, edx
and edx, 0xca0cc9ab
add ebx, ecx
sub edx, 0xca0df470
or edx, ecx
or ecx, edi
jmp 0x46c677
add dword [esp], 0x78
and ecx, edi
shl edi, 0x11
dec ecx
dec ebx
dec edx
nop
jmp 0x46a261
add esi, 0x3c
xchg edi, edx
or edx, edi
rol ebx, 0x10
sub edx, edi
mov ecx, 0xca1b895d
or edx, 0xca1c240d
xor ebx, ecx
rol edx, 5
xchg ecx, edi
jmp 0x46b12b
add esi, dword [esp]
sub ebx, edx
inc ecx
xchg edx, ecx
add ecx, edi
sub edx, 0xcae22bfa
not ecx
rol edx, 1
sub edx, edi
sub ebx, edi
xor ebx, edx
ror edi, 5
jmp 0x46c0df
add dword [esp], 0x20
mov edx, 0xcaf10b2f
and edx, ecx
and ebx, edx
nop
add edx, ecx
ror edx, 7
bswap edx
xor edx, ecx
jmp 0x46a4ff
add esi, dword [esp + 0xc8]
add ecx, ebx
ror edi, 0xc
or ecx, edi
or ecx, edx
rol edx, 4
xor ebx, edx
xor edx, ebx
or edi, edx
mov ecx, edx
sub ebx, edi
shr ecx, 0x1e
jmp 0x46a4aa
mov esi, dword [esi]
mov ecx, ebx
sub ebx, ecx
xchg edi, ecx
and edi, 0xcb51c42f
add edx, edi
jmp 0x469dfa
rol eax, 8
bswap edi
xor edi, 0xcbb12a7e
nop
ror edi, 0x16
xchg edx, ebx
sub ecx, edx
shr ebx, 2
mov ebx, 0xcbb4f8c1
xor edi, edx
jmp 0x46d2d5
inc esi
mov ecx, edx
mov ecx, edi
and edi, ebx
sub ecx, edi
mov edi, edx
add edi, 0xccc99cda
mov ecx, edx
add edi, ebx
xor ebx, ecx
sub edx, 0xcccc1c52
jmp 0x46b874
mov dword [esp], esi
sub ecx, ebx
neg ecx
or edi, edx
inc edi
not edi
add ecx, ebx
add ecx, edi
dec ebx
or edi, 0xcce62947
jmp 0x46b189
add dword [esp], 4
xchg ecx, edx
sub edx, 0xcce78d8b
ror edx, 0x16
xchg edi, ebx
jmp 0x46b021
add esi, dword [esp + 0xc8]
xchg edi, ecx
neg ecx
not ebx
sub edx, ebx
xor edi, ebx
or ebx, ecx
add ecx, edx
and edx, ecx
xor ecx, 0xcd43f06a
add edi, edx
shr ecx, 0x15
and ecx, edx
jmp 0x46ae2a
mov eax, 2
add ebx, edi
or edx, edi
or edi, ebx
neg edx
and edi, ebx
neg ebx
neg edx
xchg edi, edx
xchg ecx, edx
jmp 0x46a023
add esi, dword [esp + 0xc8]
and edi, ecx
and edx, 0xcd5bba10
mov edx, edi
mov edx, ebx
and edi, ebx
mov edx, ebx
or edx, 0xcd5ea7a5
shl ebx, 0xf
and ecx, ebx
xor edi, ebx
mov ecx, edi
or ecx, ebx
sub ecx, 0xcd625845
jmp 0x46d368
mul esi
and edi, ecx
and edi, edx
sub ebx, 0xcd8e0f59
xor ecx, edx
or ebx, ecx
and ebx, ecx
sub ecx, edi
add ecx, 0xcd910bd1
and edi, edx
jmp 0x46b6e1
mov esi, 0x30
or ecx, edi
add ebx, 0xcd965ca5
mov edx, ecx
or edx, ebx
xchg edx, ecx
nop
and edi, ecx
mov edx, 0xcd9a10ea
jmp 0x46b4c8
mov dword [esp + 0xc8], esi
and ecx, edi
xor ecx, ebx
or ecx, ebx
xchg ebx, ecx
mov ebx, edi
xchg edi, ebx
add edx, edi
xchg ebx, edx
jmp 0x46c57e