Function at 0x46a7c0
Capabilities:
Encrypt data using chaskey

Disassembly:
xor eax, eax
sub ebx, ecx
sub ebx, esi
sub edx, 0xf6132ce
mov esi, ebx
xor edx, 0xf623566
shl edx, 0x16
jmp 0x46b1a1
sub esp, 0xc8
sub esi, edx
or ecx, esi
bswap esi
and edx, ecx
mov edx, ebx
add ebx, esi
jmp 0x46abca
movzx edi, word [edi]
neg edx
sub ecx, 0xf8d0d4e
mov esi, edx
xchg ebx, esi
xor esi, 0xf8e8b80
shr ebx, 0x10
and ebx, 0xf8f79f4
and ebx, esi
ror ecx, 0xe
bswap edx
jmp 0x46ad34
jne 0x46b1a1
or esi, edx
sub edx, 0xfa391ce
add esi, ecx
xchg edx, esi
bswap ecx
mov ebx, 0xfa561e2
mov ecx, esi
xchg ecx, edx
xchg edx, ecx
add esi, edx
jmp 0x46ac35
mov edi, dword [edi]
add ebx, esi
xor ebx, ecx
or edx, ecx
or ebx, edx
shr ebx, 0x15
xchg esi, ebx
add ecx, ebx
or ecx, ebx
jmp 0x46b4ad
mov dword [esp + 0xc4], edi
shl ecx, 0x13
ror esi, 0xb
jmp 0x46a9ed
add dword [esp + 0xc4], 0x78
xor edx, 0xfb6b37a
shl edx, 0x1c
mov edx, ebx
add ebx, edx
xor ecx, esi
sub edx, ebx
bswap esi
sub esi, edx
mov ebx, edx
not edx
xchg ecx, esi
add edx, ecx
jmp 0x46ab4e
mov edi, dword [esp + 0x28]
sub ebx, esi
shl ebx, 0x1b
shr ebx, 0xe
xor ecx, edx
xor edx, 0xfe1cd3a
add ebx, edx
xchg edx, ecx
and ecx, esi
shl edx, 8
and ecx, esi
add edx, ebx
sub edx, ebx
jmp 0x46b320
push edi
inc esi
shr edx, 9
jmp 0x46a75b
mov edi, dword [edi]
sub esi, ecx
xor esi, 0xfe99d1c
shr ebx, 6
xor ecx, esi
add edx, ebx
not esi
sub ebx, 0xfebd3c2
neg esi
neg ecx
inc ebx
xor ecx, edx
mov esi, ebx
jmp 0x46b3b0
mov dword [esp + 8], 0
or ebx, 0xfeef722
xor ecx, esi
jmp 0x46b07c
cmp byte [edi], 0
jmp 0x46a956
ret
pop edi
shl esi, 0x1b
rol ebx, 8
xor ebx, edx
and ebx, 0xffc63f6
and esi, ecx
mov ebx, 0xffd5c22
neg ecx
shl ebx, 5
and esi, ecx
xor ebx, ecx
jmp 0x46b743
add edi, 0xc
sub esi, edx
or edx, 0x101b5b98
or esi, ecx
sub esi, 0x101c41ce
mov ecx, ebx
or ebx, esi
xor esi, ecx
sub ecx, ebx
shr ecx, 0x14
nop
or esi, ecx
nop
jmp 0x46b674
mul edi
or edx, esi
sub esi, 0x102149f0
and ebx, 0x1021c7ec
add ebx, esi
mov ecx, 0x1022ae94
xor ecx, edx
rol edx, 0x1b
xchg esi, ecx
jmp 0x46b0ea
mov edi, dword [esp + 0x20]
not edx
xor edx, 0x10460912
or ebx, edx
sub ebx, esi
add edx, esi
mov ecx, ebx
xchg ebx, esi
and ecx, ebx
or ecx, edx
xchg ebx, ecx
jmp 0x46c38a
mov edi, dword [edi]
bswap ecx
sub ecx, edx
and ebx, ecx
ror edx, 0xc
xor ebx, ecx
xchg edx, ecx
neg esi
xor edx, 0x105c3e60
jmp 0x46b037
add dword [esp + 0x20], 4
sub edx, ecx
inc ebx
add edx, ebx
bswap edx
neg edx
or ebx, edx
add esi, edx
inc edx
jmp 0x46ae5f
mov dword [esp + 0xc4], edi
xor edx, ecx
nop
shr ebx, 0x18
mov esi, edx
shl ebx, 5
bswap ecx
xchg esi, ebx
sub edx, ebx
dec ecx
xor esi, edx
and ebx, esi
dec esi
jmp 0x46bae8
mov edi, dword [edi]
ror ebx, 0x14
mov edx, esi
mov ecx, edx
add edx, esi
mov ebx, ecx
xchg ecx, esi
jmp 0x46c214
inc edi
xor ecx, edx
dec ebx
add ecx, 0x10868fec
mov edx, esi
and ecx, 0x10879cce
mov ebx, edx
jmp 0x46abf5
mul edi
sub ebx, edx
sub ecx, ebx
rol ecx, 0xd
add esi, ecx
and edx, ecx
sub esi, ebx
mov ebx, 0x108b8d04
mov esi, ecx
jmp 0x46bd50
add edi, dword [esp + 0x28]
or edx, esi
bswap ebx
sub ecx, ebx
inc esi
dec ecx
mov ecx, esi
xor ecx, 0x108f9d4e
xor edx, esi
inc ebx
not ecx
jmp 0x46b964
add dword [esp + 0xc4], edi
and ebx, 0x1091ce06
and ebx, edx
mov ebx, esi
or esi, edx
or edx, 0x1093ada6
xor edx, ebx
add edx, esi
neg ecx
jmp 0x46be96
mov dword [esp + 0x20], 0
or esi, 0x10960a90
xor ebx, esi
or ecx, ebx
or ecx, 0x1097783e
sub ebx, esi
sub ebx, 0x10987dde
mov ecx, 0x1098f736
sub edx, ecx
or edx, 0x1099d93a
and ebx, 0x109a66ee
jmp 0x46b74f
add dword [esp + 0xc4], eax
or esi, edx
add ecx, ebx
inc esi
or ebx, esi
xor edx, ecx
or edx, ecx
add ebx, esi
xor edx, 0x10a67080
jmp 0x46bd84
xor al, byte [edi]
or edx, esi
mov edx, esi
mov esi, ecx
xchg edx, ebx
sub edx, 0x10c3ca8e
xor ebx, edx
jmp 0x46bdf0
add edi, dword [esp + 0x28]
xor ebx, ecx
xchg ecx, esi
sub edx, 0x10e1b7be
bswap ebx
or ecx, ebx
mov ecx, esi
jmp 0x46c544
add edi, dword [esp + 0xc4]
sub ecx, ebx
or edx, ecx
sub edx, esi
shr esi, 0x16
xor ecx, 0x10ef2764
sub ecx, ebx
or edx, ecx
nop
jmp 0x46c427
mov edi, dword [esp + 0x20]
dec esi
or esi, 0x10f0829c
and edx, ebx
or esi, edx
add edx, ecx
and esi, edx
or ecx, esi
ror edx, 0x1a
add edx, 0x10f24fc0
add esi, 0x10f28f3e
and edx, 0x10f2cfc2
mov ecx, edx
jmp 0x46c157
add edi, dword [esp + 0x28]
add ecx, 0x10facac0
add esi, ebx
add ebx, edx
xor esi, ecx
rol edx, 0xa
shr ecx, 0x1f
jmp 0x46bbc1
mov edi, dword [edi]
and ebx, ecx
mov esi, edx
add ebx, edx
add esi, 0x11089b20
mov ebx, edx
inc ebx
xchg esi, edx
and esi, ebx
add ebx, 0x110a7634
mov edx, esi
jmp 0x46c2b2
mov dword [esp + 0x28], edi
inc ecx
xor esi, ebx
or edx, ecx
shr esi, 0xc
sub edx, 0x111a9484
not ecx
sub esi, edx
xor esi, ecx
and ebx, 0x111c8e00
or ebx, esi
jmp 0x46c2c2
inc dword [esp + 8]
rol esi, 2
xchg ebx, esi
or ebx, edx
ror ebx, 0x10
mov ecx, esi
shl ecx, 0xd
sub ecx, ebx
sub edx, ebx
jmp 0x46af12
add edi, 0xc
mov edx, ecx
bswap esi
sub ecx, 0x115ec8d6
mov ebx, 0x115f544e
and ecx, esi
xor ebx, esi
add ecx, esi
shl esi, 5
jmp 0x46bfa1
add edi, dword [esp + 0x28]
xchg ecx, esi
sub edx, esi
sub edx, esi
dec esi
add esi, edx
xor esi, edx
jmp 0x46ab79
mov edi, dword [edi]
not ecx
or edx, ebx
or esi, edx
xor ebx, ecx
shr esi, 7
dec edx
jmp 0x46b61d
cmp eax, dword [esp + 0xb4]
jmp 0x46c52d
mov dword [esp + 0x28], 0
mov ecx, esi
sub ebx, 0x11837ac6
ror esi, 0x1a
xor ebx, edx
and ecx, edx
add ecx, ebx
mov ecx, edx
add esi, ecx
xchg esi, edx
dec ecx
shl edx, 0xd
shl esi, 0x1b
jmp 0x46b7ec
mov dword [esp + 0xc4], 0
shr esi, 0x11
or ecx, 0x11978276
and ebx, edx
mov edx, ebx
inc edx
add esi, edx
and edx, ecx
or ebx, 0x119a4b40
xchg ebx, ecx
xchg ecx, esi
jmp 0x46b98f
mov edi, dword [esp + 0xc4]
mov edx, 0x11a6d466
shl ecx, 0xb
sub ecx, ebx
mov edx, ebx
shr esi, 0x19
dec ebx
xor ecx, esi
and ebx, esi
ror esi, 0x19
dec ebx
mov ebx, esi
not esi
jmp 0x46aef6
mov dword [esp + 0x20], edi
mov edx, ebx
shl ebx, 0xf
jmp 0x46bc96
mov dword [esp + 0xb4], edi
bswap esi
xor esi, ebx
xor edx, ecx
add edx, ebx
add ebx, edx
bswap edx
shl esi, 0x1b
mov edx, ecx
mov edx, 0x11d338f0
and edx, ebx
and esi, ebx
and esi, edx
xchg esi, ebx
shl ecx, 0xe
jmp 0x46bcd3
add edi, 0x3c
or ecx, 0x11e8a172
shl edx, 6
add esi, ebx
mov edx, ebx
sub ecx, edx
xor edx, ebx
or edx, ecx
shl ecx, 0x1c
shr esi, 8
and ebx, esi
jmp 0x46c3f0
mov edi, dword [esp + 0x28]
and ebx, ecx
xor ebx, 0x1201994c
mov esi, ebx
mov ebx, edx
or ebx, esi
sub ecx, 0x12037132
neg ebx
and edx, esi
jmp 0x46b058
add esp, 0xc8
and esi, ebx
add ebx, ecx
xchg edx, esi
sub edx, esi
or ebx, ecx
add ebx, esi
dec edx
xchg ecx, ebx
nop
mov ebx, esi
jmp 0x46ac1c
sub dword [esp + 0xc4], 8
add ebx, 0x121140dc
or esi, edx
and esi, ecx
mov esi, ebx
add ecx, edx
and edx, ebx
inc ebx
xor ecx, esi
sub ebx, 0x1215a3bc
mov ebx, 0x121618b4
add ebx, ecx
and edx, ecx
jmp 0x46c306
mov dword [esp + 0x20], edi
dec esi
xor esi, ecx
and ebx, esi
or esi, ecx
and esi, ecx
mov edx, ebx
shl esi, 0xf
or ebx, esi
jmp 0x46b595
mov edi, dword [edi]
shr edx, 6
xor edx, ecx
not esi
xchg ebx, esi
and ebx, 0x12283c8e
add ebx, ecx
sub ebx, 0x1229189e
bswap edx
and esi, ecx
xor esi, edx
and esi, ebx
xchg edx, ebx
jmp 0x46b29b
mov eax, 2
and esi, ebx
bswap ecx
sub ecx, 0x1241e334
or edx, 0x1242e07e
sub ebx, 0x12438972
or ebx, ecx
jmp 0x46c0fc
mov edi, 0x30
or ecx, edx
shl edx, 7
shr ecx, 1
sub esi, 0x124abb70
dec ecx
sub edx, esi
and ebx, edx
shl esi, 0x11
jmp 0x46be1d
mov dword [esp + 8], eax
dec ecx
mov esi, ecx
sub ebx, 0x125d8dbe
xor esi, 0x125df9a8
or ecx, esi
xchg ecx, ebx
xchg ecx, esi
nop
jmp 0x46bb61
mov edi, dword [esp + 0xc4]
sub edx, esi
or ecx, 0x12663ac4
shr edx, 0xe
xor ebx, edx
sub esi, 0x1267f19a
add ecx, 0x1268673a
jmp 0x46b426
rol eax, 8
xor edx, ebx
xor edx, ecx
mov esi, ecx
sub esi, 0x1277e9d0
bswap ecx
mov ebx, 0x1278d276
not ebx
or ebx, edx
jmp 0x46b003
mov edi, dword fs:[edi]
bswap esi
add ebx, 0x127d12ce
or ebx, ecx
and esi, ecx
or esi, ecx
and esi, ecx
xchg esi, edx
xor esi, 0x127ff66a
shr esi, 0x19
mov edx, ebx
jmp 0x46ad0d
add dword [esp + 0xc4], 0x20
mov esi, ecx
sub ecx, ebx
xor esi, ecx
xor ecx, 0x128ff902
xor ecx, 0x1290765a
sub esi, ebx
jmp 0x46c438
mov edi, dword [edi]
or edx, ebx
mov esi, ebx
xchg ecx, ebx
and edx, ebx
mov ebx, 0x12b2e2f4
sub ebx, 0x12b3670a
ror edx, 0xa
sub ecx, edx
and esi, edx
xchg ebx, esi
jmp 0x46c0f0
mov edi, dword [edi]
shr ebx, 6
mov edx, esi
jmp 0x46afef
mov edi, dword [esp + 8]
mov ecx, edx
ror ebx, 9
xchg esi, ecx
or ecx, 0x12e326e6
jmp 0x46b01c
add edi, dword [esp + 8]
xor edx, esi
and edx, ebx
or ecx, esi
xor edx, esi
sub esi, ecx
shl esi, 9
sub esi, 0x12f84e5a
shr edx, 0xa
jmp 0x46c3fb
add edi, 0x18
xor ecx, edx
xor edx, esi
xor ebx, 0x13108c84
rol ecx, 0x16
mov esi, ecx
or edx, esi
xor ecx, 0x13126690
add ecx, esi
jmp 0x46a9c3
add edi, dword [esp + 0x28]
add ecx, ebx
bswap esi
jmp 0x46bb36
mov edi, dword [esp + 0x28]
and ebx, esi
and ecx, 0x1327a2c4
mov edx, esi
mov edx, ecx
add ebx, ecx
shr ecx, 0xb
add edx, ecx
shr edx, 0x1d
xor esi, ecx
and edx, ebx
jmp 0x46ba36
mov edi, dword [esp + 0xc4]
or edx, 0x132faa48
add ecx, ebx
add edx, esi
inc ebx
xor ecx, esi
and edx, ecx
not ecx
xchg ecx, ebx
jmp 0x46bbef
mov edi, dword [edi]
ror edx, 1
xor esi, 0x1341fee4
xchg edx, ebx
rol esi, 0xc
and ebx, 0x1343a5e0
sub esi, ecx
sub ebx, ecx
sub ebx, ecx
jmp 0x46b63d
mov edi, dword [edi]
xor edx, esi
and ebx, edx
jmp 0x46a9db
mov eax, 4
sub edx, 0x13547fa2
xor ecx, ebx
sub esi, ecx
add edx, esi
jmp 0x46a8a5
mov edi, dword [edi]
sub esi, ecx
rol esi, 0x16
shr ecx, 8
sub ebx, edx
jmp 0x46af72
mov edi, dword [esp + 0xc4]
dec esi
add edx, ecx
inc esi
or edx, 0x135c6872
jmp 0x46aba3
jne 0x46b595
xor ecx, esi
neg ecx
neg edx
and ebx, 0x13814f04
jmp 0x46c577
mov dword [esp + 0xc4], edi
and ebx, ecx
xchg ecx, edx
sub edx, esi
xor ebx, ecx
jmp 0x46b340
add dword [esp + 0xc4], 4
neg esi
sub ebx, 0x13871914
xchg ecx, edx
and edx, 0x13879a74
mov ecx, ebx
add esi, ebx
xor ebx, 0x1388f7b6
and edx, ebx
sub ecx, ebx
neg ebx
neg ebx
sub edx, esi
jmp 0x46b86c