Function at 0x46df72
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ecx, dword [esp + 0xc4]
sub esi, edx
add edi, 0xcd6bd3ca
shr edi, 1
sub edx, edi
bswap esi
or esi, edx
shl esi, 0x1f
add esi, 0xcd6d5d94
and esi, 0xcd6d9d87
jmp 0x46c754
mov ecx, dword [ecx]
xchg ebx, esi
ror edx, 0x10
sub edx, esi
nop
neg edx
xor edx, esi
or edi, 0xcd7a8285
mov ebx, edi
neg ebx
add edx, edi
or ebx, edx
jmp 0x46b3cb
mov eax, 4
neg edx
or edi, ebx
inc esi
and ebx, edi
xor ebx, 0xcd889e36
rol ebx, 0x12
sub esi, edx
add edi, ebx
neg ebx
xor ebx, 0xcd89eb70
bswap ebx
jmp 0x46c9bd
mov ecx, dword [ecx]
or ebx, esi
shl ebx, 0x14
or edi, edx
inc ebx
or edi, esi
rol edx, 4
xor esi, ebx
xchg edx, ebx
add edx, ebx
mov edi, esi
jmp 0x46bd08
mov ecx, dword fs:[ecx]
and ebx, 0xcd977387
ror edi, 3
shl esi, 2
or edi, edx
mov esi, 0xcd9937c6
sub edi, edx
neg edx
and edx, edi
jmp 0x46b32e
inc dword [esp + 0xd4]
rol edx, 3
xor esi, edx
xor edi, ebx
mov edx, esi
and esi, edx
sub edi, edx
mov edx, edi
jmp 0x46bafb
mov dword [esp + 0xc4], ecx
add edx, ebx
xor edi, esi
mov ebx, esi
shl esi, 0xd
xor esi, 0xcda83458
sub edx, edi
or esi, 0xcda8c3bc
add esi, edx
shr esi, 0x16
add edi, edx
rol edi, 0xf
jmp 0x46b302
mov dword [esp + 0xc4], ecx
shl ebx, 4
add ebx, edx
or esi, edi
nop
xchg esi, ebx
jmp 0x46c9fe
mov ecx, dword [ecx]
dec esi
xchg esi, ebx
or edx, 0xcdc400d2
jmp 0x46c044
add ecx, dword [esp + 0xc0]
sub esi, edx
add esi, edx
ror esi, 0x1b
sub esi, ebx
neg ebx
or esi, ebx
sub edx, esi
shl edi, 3
xor esi, edi
shl esi, 0x1c
jmp 0x46d8eb
add ecx, dword [esp + 0xc0]
ror ebx, 0x1b
xchg edx, edi
or edx, edi
mov esi, edx
jmp 0x46cfcc
mov ecx, dword [esp + 0xc0]
and ebx, edx
shl edx, 0x13
add esi, edx
mov esi, 0xce30f8c9
and esi, edi
rol esi, 0x19
and ebx, 0xce31b9fd
xor edx, ebx
dec esi
or ebx, 0xce327642
jmp 0x46c697
add ecx, 0xc
xor esi, 0xce32c8fe
xchg esi, edx
or edx, edi
add ebx, edx
shr esi, 2
mov ebx, 0xce3403a1
add edi, esi
add ebx, esi
ror edx, 0xa
inc ebx
xor edx, ebx
xchg esi, ebx
jmp 0x46b779
mov ecx, dword [ecx]
mov ebx, 0xce394d25
xor esi, edi
or edx, esi
and ebx, edi
and edx, edi
xchg edx, ebx
xchg ebx, edx
shl edx, 0x10
shr edx, 0x1e
jmp 0x46aed4
mov dword [esp + 0x28], ecx
inc ebx
not esi
mov esi, edi
neg esi
or edi, esi
not edi
and edi, esi
xor ebx, 0xce3d69b3
or edi, 0xce3da9bc
add ebx, edx
shr ebx, 0x13
bswap ebx
jmp 0x46acf5
mov dword [esp + 0xc0], ecx
and edx, edi
xchg edx, esi
shr esi, 0x1c
or ebx, edx
and ebx, edx
mov ebx, edi
mov edi, 0xce40286d
add ebx, edi
or ebx, 0xce40b5b7
dec ebx
sub esi, 0xce4135eb
add edi, edx
sub edi, esi
shl edx, 0x12
jmp 0x46c43f
add ecx, dword [esp + 0xd4]
inc ebx
shl ebx, 0x1d
sub esi, 0xcf4fe0f7
shr esi, 0x1c
and esi, edx
rol edi, 0x1d
mov ebx, esi
shr edi, 0x1e
mov edx, edi
xchg ebx, edx
xchg edx, esi
sub esi, ebx
add esi, ebx
xchg edi, edx
or edi, ebx
mov edx, 0xcf531f9b
jmp 0x46ac07
mov ecx, dword [ecx]
mov esi, edx
neg edx
xchg edi, edx
and esi, edx
and edx, 0xcf547d88
xor edi, 0xcf54bd9f
jmp 0x46db7c
mov ecx, dword [esp + 0xd4]
nop
inc esi
and edx, esi
shl edi, 0x10
neg ebx
mov edi, edx
sub edx, esi
and edx, esi
bswap edi
inc ebx
or edx, ebx
rol esi, 0xf
sub edi, esi
jmp 0x46ce57
mov dword [esp + 0xd4], 0
mov ebx, esi
xor ebx, 0xcf5ad346
add edx, edi
and edx, esi
and esi, edx
bswap edx
and ebx, edi
and edi, ebx
jmp 0x46ddb3
add dword [esp + 0x28], 4
mov esi, 0xcf980c65
and esi, edi
xchg ebx, esi
and ebx, esi
jmp 0x46bc0d
mov ecx, dword [ecx]
shl ebx, 7
ror edx, 0x19
jmp 0x46ae28
mov ecx, dword [esp + 0x28]
mov edx, esi
xor edi, esi
add esi, edx
mov esi, ebx
or esi, 0xcfac88df
not edx
xor edx, esi
not ebx
mov ebx, 0xcfad8703
jmp 0x46d01a
mov ecx, dword [ecx]
shl ebx, 8
or esi, 0xcfc1cb2e
or edi, 0xcfc2635d
add esi, ebx
sub esi, edx
not edx
shl ebx, 0xb
xor esi, edi
add esi, edx
add edx, esi
jmp 0x46ae5d
mov ecx, dword [esp + 0xc0]
and esi, 0xd06f4720
xor edx, 0xd077118e
xchg edi, edx
ror edx, 7
sub ebx, edx
sub ebx, edi
and edx, edi
sub esi, edx
xor edx, esi
dec esi
or ebx, edi
jmp 0x46d5f4
add dword [esp + 0xc4], 4
sub edx, 0xd07a2ea7
ror esi, 0x1e
or edi, edx
not edx
mov esi, edi
sub esi, edx
not edi
jmp 0x46be44
mov ecx, dword [esp + 0xc4]
rol edx, 0xe
bswap esi
add esi, edx
xor edx, esi
xor esi, 0xd07d978c
bswap esi
add edx, 0xd07e154b
jmp 0x46d423
add ecx, dword [esp + 0xc0]
xor edx, ebx
sub esi, 0xd07f0e20
xor ebx, edi
neg edx
and esi, ebx
add ebx, edi
xor edx, esi
mov edi, esi
mov edx, 0xd081a14a
sub ebx, edi
or edi, edx
jmp 0x46d7e6
add ecx, 0x18
neg ebx
or ebx, edi
not esi
or ebx, esi
xor ebx, esi
mov edx, 0xd11c2420
rol edi, 0x1c
sub edx, 0xd11ca11e
sub esi, edx
mov ebx, edx
mov edi, esi
jmp 0x46ab42
add ecx, dword [esp + 0xc0]
xchg edi, esi
xchg esi, edx
shr ebx, 0x12
jmp 0x46b39f
mov eax, 2
or ebx, edi
inc ebx
xchg ebx, edx
neg esi
add edx, ebx
mov edx, 0xd151c0b4
not esi
dec edx
jmp 0x46b794
mov ecx, dword [esp + 0xc4]
add edx, edi
sub edi, edx
inc edi
mov edx, edi
add ebx, 0xd15d9532
ror edx, 0x18
add edx, 0xd15e3fbb
inc edx
add edi, esi
sub edx, 0xd15ef631
xor esi, edi
xchg edx, esi
jmp 0x46d181
mov ecx, dword [esp + 0xc0]
sub edi, edx
and esi, edi
and ebx, edx
ror esi, 0x13
or edi, ebx
and ebx, 0xd171efb1
add esi, edi
jmp 0x46c6b2
mov dword [esp + 0xd4], eax
bswap ebx
or esi, ebx
add edx, edi
or ebx, edi
mov ebx, esi
xchg edi, edx
mov ebx, esi
mov edi, ebx
bswap edi
and edi, edx
mov edx, ebx
mov esi, edi
jmp 0x46cbf5
add dword [esp + 0xc4], ecx
sub edx, edi
xchg ebx, edx
mov esi, 0xd1af070b
rol ebx, 0x1d
ror edi, 4
jmp 0x46d9c5
add ecx, 0x3c
and ebx, 0xd1afd711
add esi, ebx
or esi, 0xd1b04e0c
mov edi, esi
xchg edi, edx
and edi, 0xd1b11452
add edx, 0xd1b153a0
jmp 0x46bb35
mul ecx
and esi, 0xd1b1a853
or edx, esi
neg esi
xor edx, ebx
ror esi, 0x17
xor esi, ebx
not edx
inc edi
jmp 0x46ce19
rol eax, 8
and ebx, edx
shr edx, 8
xchg edx, edi
jmp 0x46cf6d
mov ecx, dword [ecx]
add esi, edx
xchg edx, esi
and esi, ebx
and edx, 0xd1bcf2a3
xor ebx, esi
and esi, 0xd1bd6f00
mov esi, edx
sub edi, esi
jmp 0x46c233
movzx ecx, word [ecx]
xor ebx, edx
mov edx, 0xd1f2482d
mov esi, ebx
neg esi
mov edx, esi
add edx, edi
mov edi, 0xd1f37dda
mov edx, 0xd1f3cd49
ror edx, 7
jmp 0x46c6d8
add dword [esp + 0xc4], 0x78
xchg edx, ebx
inc esi
add edx, 0xd1f7020d
sub esi, edx
xchg esi, ebx
xor edx, edi
or edi, 0xd1f80d9b
xor edx, edi
sub edi, edx
add ebx, 0xd1f8c60b
add esi, edx
sub esi, edi
mov edi, ebx
jmp 0x46bdfa
add ecx, dword [esp + 0xc0]
or ebx, edx
not edi
or ebx, esi
and esi, edx
xor edx, esi
rol esi, 0x1e
and esi, ebx
inc edx
or edx, 0xd1fde83c
sub edx, esi
jmp 0x46d098
ret
mov ecx, 0x30
or edi, esi
not edi
xor esi, edx
mov edi, edx
xchg edi, ebx
mov edx, 0xd2195ab9
xchg edx, esi
shl edx, 0x18
and edx, edi
mov edx, esi
and ebx, esi
sub edi, esi
jmp 0x46acd4
sub dword [esp + 0xc4], 8
xor edx, edi
shr edx, 0x1b
sub edi, edx
add esi, edx
xor esi, 0xd21c2851
mov edx, 0xd21c77fc
shl edx, 3
nop
sub ebx, edx
mov edi, edx
or esi, edx
xchg ebx, edx
or edi, ebx
jmp 0x46c361
mov ecx, dword [ecx]
ror ebx, 1
shr esi, 5
xor esi, edx
nop
and edx, esi
bswap edx
mov edi, edx
jmp 0x46ad7c
mov dword [esp + 0xc0], 0
sub esi, ebx
xor edi, ebx
and ebx, edi
inc esi
xor edi, edx
shr esi, 7
mov ebx, edx
xchg edi, edx
add edi, 0xd226d113
xor edi, 0xd2270ebb
and esi, 0xd2274ce9
mov esi, edx
neg ebx
dec edi
and esi, 0xd228482b
jmp 0x46dd86
add dword [esp + 0xc4], eax
add edi, edx
inc edx
xor edx, esi
xchg ebx, edx
xchg ebx, edi
xchg edi, edx
sub edx, 0xd244a00d
mov edi, edx
mov edi, esi
jmp 0x46d119
mul ecx
sub ebx, edi
sub edi, edx
sub edx, ebx
or ebx, edx
and ebx, edx
sub esi, edi
or edx, edi
xor edi, 0xd2494904
sub edx, esi
or ebx, edx
and edx, ebx
mov edx, ebx
jmp 0x46c585
inc ecx
and ebx, 0xd25c8464
shl edi, 0x10
jmp 0x46d532
mov dword [esp + 0x28], ecx
or esi, edx
shl edi, 0xe
xchg edx, edi
sub ebx, 0xd265552b
not esi
not ebx
neg edi
mov ebx, esi
mov edi, esi
xor edx, ebx
mov ebx, edi
jmp 0x46c2ca
mov ecx, dword [ecx]
add edx, edi
and esi, edx
or ebx, edx
add esi, ebx
rol edx, 3
and esi, edx
or edx, edi
sub ebx, edi
or edi, 0xd26c8243
xor edx, 0xd26cc376
sub ebx, edi
rol edi, 2
sub edx, ebx
jmp 0x46ca4c
push ecx
dec edx
bswap edi
bswap edi
xchg edi, ebx
xor esi, edx
jmp 0x46d254
mov ecx, dword [esp + 0xc4]
shl ebx, 0x11
or edi, ebx
or edi, ebx
add edi, 0xd27e8385
rol esi, 0x16
or edx, ebx
or edx, ebx
or esi, edx
and esi, ebx
nop
sub esi, ebx
rol ebx, 0xc
shl edi, 0xe
jmp 0x46b381
mov ecx, dword [ecx]
and edi, ebx
ror esi, 2
dec ebx
ror esi, 0xb
or esi, ebx
sub edx, ebx
jmp 0x46be67
pop ecx
sub edi, esi
shr edi, 4
and ebx, esi
sub esi, 0xd28968cf
or edx, 0xd289a76f
bswap ebx
add edx, 0xd28a204c
jmp 0x46d60c
xor eax, eax
add esi, 0xd293e1e6
mov esi, 0xd2941e85
rol ebx, 5
dec esi
xor edx, 0xd294de84
and edi, esi
and edx, 0xd2955ac5
not edi
shl ebx, 4
add esi, 0xd2962d8a
xchg edi, ebx
or edx, 0xd296ab6d
add edx, edi
neg edx
sub esi, 0xd29764f3
jmp 0x46d3d7
xor al, byte [ecx]
and ebx, 0xd2b25ebd
rol esi, 0x16
or ebx, 0xd2b2ddb9
neg esi
and edi, edx
or ebx, edi
and ebx, edi
add edi, ebx
jmp 0x46c745
mov ecx, dword [ecx]
xchg ebx, edi
mov edi, edx
dec esi
or edx, esi
jmp 0x46b1a0
cmp byte [ecx], 0
jmp 0x46d906
mov ecx, dword [esp + 0x28]
sub ebx, edx
add edx, esi
sub edi, 0xd2cb5f37
sub edx, edi
or edi, 0xd2cbdc3f
jmp 0x46b743
add ecx, dword [esp + 0xc4]
sub ebx, edx
mov esi, ebx
xor edi, 0xd2d8a534
or edx, esi
jmp 0x46cc24
cmp eax, dword [esp + 4]
jmp 0x46dd58
mov dword [esp + 4], ecx
bswap esi
neg ebx
add edi, edx
add ebx, esi
and esi, ebx
jmp 0x46cbcf
mov dword [esp + 0xc4], ecx
add esi, edi
add edx, esi
or edx, 0xd2fb6cfe
mov ebx, esi
xchg esi, ebx
ror esi, 2
dec edx
add ebx, edi
sub edi, 0xd2fcf935
jmp 0x46d53a
add esp, 0xf8
sub ebx, edx
or ebx, 0xd30e920e
sub ebx, 0xd30edeb4
or edx, ebx
jmp 0x46cb06
jne 0x46d3d7
mov edx, edi
xchg edi, esi
and esi, ebx
mov ebx, esi
mov edi, edx
ror ebx, 0x1d
mov esi, ebx
jmp 0x46d1ae
add dword [esp + 0xc4], 0x20
and ebx, 0xd33e853a
xor ebx, edi
add edx, 0xd33effc0
rol edi, 9
sub esi, 0xd33f7d93
or ebx, edx
and esi, edx
nop
jmp 0x46aa74
add ecx, 0xc
mov edx, edi
not ebx
bswap edi
mov edx, edi
dec esi
sub edx, 0xd35df3c0
or edx, 0xd35e41a1
mov ebx, esi
jmp 0x46ac94
jne 0x46acf5
and ebx, edx
sub edi, edx
sub ebx, esi
bswap edi
xchg ebx, esi
xor esi, ebx
mov edi, 0xd3856a7d
jmp 0x46be24
mov dword [esp + 0xc4], 0
xor ebx, esi
add ebx, edi
and esi, 0xd38761e2
xor ebx, edi
and edi, esi
add edi, ebx
or esi, 0xd3886471
sub edi, esi
inc edx
mov edi, ebx
and edi, esi
jmp 0x46d781
mov dword [esp + 0x28], 0
add edi, edx
sub esi, 0xd389eb48
sub edi, esi
or edx, 0xd38aabd8
ror esi, 1
xchg ebx, edi
rol edi, 0x1b
shl esi, 0x15
neg ebx
shr edi, 0x14
and edi, edx
sub edi, esi
mov ebx, esi
dec edi
ror esi, 0xd
jmp 0x46cc6d
sub esp, 0xf8
xor esi, edi
or esi, ebx
and edx, edi
neg esi
add ebx, 0xd3b0bf30
and edi, esi
or edx, ebx
shl ebx, 0x19
sub edi, 0xd3b1de3b
not ebx
or edi, ebx
jmp 0x46b7d4